home *** CD-ROM | disk | FTP | other *** search
/ Our Solar System / Our Solar System.iso / miscprog / jplclock / jplclock.doc next >
Text File  |  1991-07-05  |  162KB  |  3,027 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                              Program JPLCLOCK
  18.  
  19.             NASA/JPL Multimission Computer Control Center Clock
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.                (C) Copyright David H. Ransom, Jr., 1991
  27.                            All rights reserved.
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.                                Version  9128
  36.                                July 05, 1991
  37.  
  38.  
  39.  
  40.  
  41.  
  42.                           by David H. Ransom, Jr.
  43.                           Rancho Palos Verdes, CA
  44.  
  45.  
  46.  
  47.  
  48.                              RPV ASTRONOMY BBS
  49.                               (213) 541-7299
  50.                       (310) 541-7299 [November, 1991]
  51. Program JPLCLOCK Multimission Control Center Clock                 Page i
  52.  
  53.  
  54.  
  55.  
  56.  
  57.                              TABLE OF CONTENTS
  58.                              -----------------
  59.  
  60.  
  61. INTRODUCTION ......................................................1
  62.      JPLCLOCK FEATURES ............................................1
  63. PROGRAM DESCRIPTION ...............................................5
  64. JPLCLOCK HARDWARE AND SOFTWARE REQUIREMENTS .......................7
  65. JPLCLOCK FILES ....................................................7
  66. STARTING PROGRAM JPLCLOCK .........................................9
  67.      JPLCLOCK Command Line Options ................................9
  68.      Setting UTC Zone and Daylight Flag ...........................9
  69. JPLCLOCK MAIN CLOCK DISPLAY .......................................12
  70. JPLCLOCK MAIN MENU ................................................16
  71.      F1   Program Information .....................................17
  72.      F2   Set LOCATION CLOCKS .....................................18
  73.      F3   Set EVENT/MISSION TIMERS ................................20
  74.           Set MISSION/EVENT TIMERS ................................21
  75.           Set SELECTED EVENTS .....................................27
  76.      F4   Set DAYLIGHT and Defaults ...............................28
  77.      F5   Read or Save INI Files ..................................29
  78.           INI Files from Other Locations ..........................30
  79.           Editing INI Files .......................................30
  80.      F6   Self-Calibration using TIMESET ..........................32
  81.      F7   Switch TEXT Mode ........................................34
  82.      F8   Switch PAGE Mode ........................................34
  83.      F9   DOS SHELL (DOS 3.3+ ONLY) ...............................34
  84.      F10  TIME SYNCHRONIZATION ....................................35
  85.           Configuring Program TIMESET .............................35
  86.           Time Synchronization Menu ...............................37
  87.           VIEW or SET Time Sync Data ..............................37
  88.           TIMESET Time Synchronization ............................38
  89. DOS CLOCK CALIBRATION .............................................39
  90.      Setting DOS Time .............................................40
  91.      Maintaining DOS Time .........................................41
  92.      Calibrating DOS Time .........................................43
  93.           Manual Hardware Clock Calibration .......................45
  94.           Manual Software Clock Calibration .......................46
  95. USING TEXT MODE ...................................................48
  96.      Preparing TEXT Files .........................................49
  97. COMMENTS AND KNOWN PROBLEMS .......................................50
  98.      Computer BIOS Problems .......................................50
  99.      Monitor Type and Video Adapter Cards .........................50
  100.      Computer Processor and Math Coprocessor ......................50
  101.      DOS Version and the Shell Feature ............................50
  102.      Unstable Hardware or Software Clocks .........................51
  103.      Typical Calibration Results ..................................51
  104.      Color Variations .............................................52
  105. FUTURE IMPROVEMENTS AND FEATURES ..................................53
  106. UTC AND TIME ZONES ................................................54
  107. JPLCLOCK REVISION HISTORY .........................................56
  108. Program JPLCLOCK Multimission Control Center Clock                 Page ii
  109.  
  110.  
  111.  
  112.                     JPLCLOCK (NORMAL MAIN CLOCK SCREEN)
  113.  
  114.  
  115.  
  116. ║ JPLCLOCK by David H. Ransom, Jr.  Version 9126 ║  JD2448422.63779 14 JUN 1991
  117.                                                                      ■■■■■■■■■■
  118. ╔[ NASA Jet Propulsion Laboratory ]══════════════╗  ┌[ Magellan ]─────────────┐
  119. ║                                                ║  │        604   12:18:25   │
  120. ║   ╒═══╗ ╔═══╗    ╒╗   ╔═══╗   ╒═══╗ ╔═══╕      ║  └─────────────────────────┘
  121. ║       ║ ║   ║ ■   ║   ║   ║ ■     ║ ║          ║
  122. ║   ╔═══╝ ║   ║     ║   ╠═══╣   ╔═══╝ ╚═══╗  PDT ║  ┌[ Ulysses ]──────────────┐
  123. ║   ║     ║   ║ ■   ║   ║   ║ ■ ║         ║      ║  │        251   15:31:10   │
  124. ║   ╚═══╛ ╚═══╝   ╘═╩═╛ ╚═══╝   ╚═══╛ ╘═══╝      ║  └─────────────────────────┘
  125. ║                                                ║
  126. ║   ╔═══╗ ╒═══╗    ╒╗   ╔═══╗   ╒═══╗ ╔═══╕      ║  ┌[ Galileo ]──────────────┐
  127. ║   ║   ║     ║ ■   ║   ║   ║ ■     ║ ║          ║  │        616   14:18:25   │
  128. ║   ║   ║  ╞══╣     ║   ╠═══╣   ╔═══╝ ╚═══╗  UTC ║  └─────────────────────────┘
  129. ║   ║   ║     ║ ■   ║   ║   ║ ■ ║         ║      ║
  130. ║   ╚═══╝ ╘═══╝   ╘═╩═╛ ╚═══╝   ╚═══╛ ╘═══╝      ║  ┌[Hubble Space Telescope]─┐
  131. ║                                                ║  │        403   14:44:33   │
  132. ╚════════════════════════════════════════════════╝  └─────────────────────────┘
  133.  
  134. ┌[ GDX  Goldstone ]────┐  ┌[ CAN  Canberra ]─────┐  ┌[ Gamma Ray Observatory]─┐
  135. │  165  20:18:25  PDT  │  │    166  14:18:25     │  │         70   11:55:40   │
  136. └──────────────────────┘  └──────────────────────┘  └─────────────────────────┘
  137.  
  138. ┌[ JSC  Houston ]──────┐  ┌[ MAX  Madrid ]───────┐  ┌[ ROSAT Observatory ]────┐
  139. │  165  22:18:25  CDT  │  │  166  04:18:25  CES  │  │        378   05:30:26   │
  140. └──────────────────────┘  └──────────────────────┘  └─────────────────────────┘
  141.  
  142.  
  143.  
  144. NOTE: Pages ii and iii use the IBM "line drawing" characters as they appear 
  145. on the display screen. If your printer cannot print these characters, these 
  146. pages may appear garbled. These line drawing characters are not used 
  147. elsewhere in this documentation; instead, I substitute similar characters 
  148. from the normal character set.
  149. Program JPLCLOCK Multimission Control Center Clock                Page iii
  150.  
  151.  
  152.  
  153.                     JPLCLOCK (SMALL MAIN CLOCK SCREEN)
  154.  
  155.  
  156.  
  157. ║ JPLCLOCK by David H. Ransom, Jr.  Version 9127 ║  JD2448436.59025 28 JUN 1991
  158.                                                                      ■■■■■■■■■■
  159. ╔[ NASA Jet Propulsion Laboratory ]══════════════╗  ┌[ Galileo ]──────────────┐
  160. ║                                                ║  │        522   15:09:58   │
  161. ║    179  19:09:58 PDT      180  02:09:58 UTC    ║  └─────────────────────────┘
  162. ║                                                ║
  163. ╚════════════════════════════════════════════════╝  ┌[ Magellan ]─────────────┐
  164.                                                     │        780   18:09:58   │
  165. ┌── SELECTED EVENTS ───┐  ┌── PRIORITY EVENTS ───┐  └─────────────────────────┘
  166. │                      │  │                      │
  167. ┌[Hubble Space Telesc]─┐  ┌[ Test 6 ]────────────┐  ┌[ Ulysses ]──────────────┐
  168. │    417  13:36:06     │  │      0  00:24:08     │  │        265   08:23:58   │
  169. └──────────────────────┘  └──────────────────────┘  └─────────────────────────┘
  170. │                      │  │                      │
  171. ┌[Gamma Ray Observato]─┐  ┌[ Test 5 ]────────────┐
  172. │     84  10:47:13     │  │      0  00:24:18     │
  173. └──────────────────────┘  └──────────────────────┘
  174. └──────────────────────┘  └──────────────────────┘
  175. ┌[ GDX  Goldstone ]────┐  ┌[ CAN  Canberra ]─────┐  ┌[ Gamma Ray Observatory]─┐
  176. │  179  19:09:58  MST  │  │    180  13:09:58     │  │         84   10:47:13   │
  177. └──────────────────────┘  └──────────────────────┘  └─────────────────────────┘
  178.  
  179. ┌[ JSC  Houston ]──────┐  ┌[ MAX  Madrid ]───────┐  ┌[ ROSAT Observatory ]────┐
  180. │  179  21:09:58  EST  │  │  180  03:09:58  CES  │  │        392   04:21:59   │
  181. └──────────────────────┘  └──────────────────────┘  └─────────────────────────┘
  182.  
  183.  
  184.  
  185. NOTE: Pages ii and iii use the IBM "line drawing" characters as they appear 
  186. on the display screen. If your printer cannot print these characters, these 
  187. pages may appear garbled. These line drawing characters are not used 
  188. elsewhere in this documentation; instead, I substitute similar characters 
  189. from the normal character set.
  190. Program JPLCLOCK Multimission Control Center Clock                 Page 1
  191.  
  192.  
  193. INTRODUCTION
  194. ------------
  195.  
  196.      JPLCLOCK is a clock and event timer program written especially for use 
  197. in the NASA Jet Propulsion Laboratory's Multimission Computer Control 
  198. Center (MCCC) in Pasadena, California. JPLCLOCK provides mission 
  199. controllers in the MCCC with current JPL time (Pacific Standard or Daylight 
  200. Time), UTC (Coordinated Universal Time), and DSN (Deep Space Tracking 
  201. Network) times as well as up to 60 selected mission or event timers. A text 
  202. presentation mode allows the display of supplementary text and other 
  203. messages when the program is used for more general applications.
  204.      JPLCLOCK is copyrighted software; you are hereby granted a non-
  205. exclusive license for non-commercial or educational use only. Agencies of 
  206. the U. S. Government are hereby also granted a non-exclusive license for 
  207. the use of this program. Use it if you like it, discard it if you don't. 
  208. There are no warranties of any kind. If you wish to use JPLCLOCK 
  209. commercially, write for license information.
  210.  
  211.  
  212. JPLCLOCK FEATURES
  213. -----------------
  214.  
  215. -    JPLCLOCK can turn an "ordinary" IBM-compatible personal computer into 
  216.      a precision clock, synchronized to the National Institute of Standards 
  217.      and Technology in Boulder, Colorado or to the U.S. Naval Observatory 
  218.      in Washington, DC.
  219.  
  220. -    When used with the NIST or USNO Telephone Time Service, JPLCLOCK can 
  221.      maintain its displayed time to an accuracy of 0.2 seconds or better 
  222.      over extended periods of time.
  223.  
  224. -    JPLCLOCK automatically and continuously compensates for the drift of 
  225.      the DOS software clock.
  226.  
  227. -    JPLCLOCK can display your local time and Universal Coordinated Time in 
  228.      large, easy to read characters in its Main Window.
  229.  
  230. -    JPLCLOCK can display the local time at four additional locations 
  231.      around the world.
  232.  
  233. -    JPLCLOCK tracks as many as 60 different missions or events, displaying 
  234.      the Mission Elapsed Time or a countdown to Time Zero for each event. 
  235.      Mission/event times may range from -27 years to +274 years!
  236.  
  237. -    JPLCLOCK can display up to four special PRIORITY EVENT timers that 
  238.      automatically select events whose Time Zero is closest to the current 
  239.      time.
  240.  
  241. -    All features and events are set by the user so that JPLCLOCK may be 
  242.      easily configured for each installation.
  243.  
  244. -    JPLCLOCK can present supplementary text information on as many as 10 
  245.      successive display screens for news and public information.
  246.  
  247.  
  248. Program JPLCLOCK Multimission Control Center Clock                 Page 2
  249.  
  250.  
  251.      JPLCLOCK Version 9126 was the first limited public release of the 
  252. program, after a number of beta versions tested by Charles White at the 
  253. NASA Jet Propulsion Laboratory. Thanks to Charles, a number of interesting 
  254. features have been added to the early versions, bugs have been squashed, 
  255. and the program has been tested in the MCCC and elsewhere. Other interested 
  256. individuals at JPL have also evaluated the program, offered criticism and 
  257. suggestions, and researched some of the older mission times. Mike Gardner 
  258. in Sunnyvale has reviewed an early version of my documentation apart and 
  259. offered his usual constructive criticism. To all of these people, my 
  260. thanks!
  261.      Although my initial discussions at JPL envisioned a "simple" program, 
  262. JPLCLOCK is definitely NOT simple. The original idea was to adapt my 
  263. program ASTROCLK to the task required in the MCCC. I have indeed borrowed 
  264. freely from ASTROCLK (as well as from another of my programs, STSORBIT) and 
  265. this helped get the first versions up and running relatively quickly. As 
  266. usually happens, the project quickly grew in scope and complexity. Everyone 
  267. involved, myself included, had new ideas or suggestions. Equally 
  268. significant, the personal computer is hardly the ideal precision clock, yet 
  269. JPLCLOCK is intended for the JPL MCCC where accuracy is critical. Making 
  270. sure that JPLCLOCK will maintain the required accuracy has consumed 
  271. considerable time and thought. It wasn't long before the source included 
  272. thousands of lines of code and the documentation grew to over 40 pages. All 
  273. this in the space of a couple of weeks of my "spare time"! 
  274.      Given the clock drift and accuracy problems inherent in the design of 
  275. the typical IBM-compatible personal computer, JPLCLOCK would not have been 
  276. practical without the various time services provided by the National 
  277. Institute of Standards and Technology (NIST) and the U.S. Naval Observatory 
  278. (USNO). The NIST radio stations WWV and WWVH provide an inexpensive and 
  279. convenient means for "ordinary folks" to synchronize clocks and other 
  280. equipment. The NIST and USNO Telephone Time Services offer a high precision 
  281. standard time calibration source when such accuracy is required.
  282.      Every effort has been made to assure that program JPLCLOCK performs 
  283. its task accurately and reliably. However, while no known errors of any 
  284. consequence remain, JPLCLOCK is still a young program and it is almost 
  285. certain that some bugs are yet to be discovered. In addition, there is 
  286. still much that can be done to further enhance JPLCLOCK, so new versions 
  287. can be expected from time to time. User comments, suggestions, and bug or 
  288. problem reports will be appreciated!
  289.      Programs such as JPLCLOCK take many hours to develop and maintain. 
  290. While it is not required, I would appreciate your registration of the 
  291. program; the cost is very nominal and it will encourage me to continue 
  292. supporting the program. The only other request I make of users is that they 
  293. take the time to complete and return the confidential questionnaire in file 
  294. README. The questionnaire gives users a chance to offer comments and 
  295. suggestions, and lets me know that people use and appreciate JPLCLOCK.
  296.      For those who are interested in our space program and who have access 
  297. to a modem, I recommend NASA's SpaceLink Bulletin Board System in 
  298. Huntsville, Alabama, (205) 895-0028, available twenty four hours per day. 
  299. NASA SpaceLink, supervised by Bill Anderson of the NASA Marshall Space 
  300. Flight Center, provides a wealth of information on NASA and its projects. 
  301. Orbital elements for a Space Shuttle mission are usually available while a 
  302. mission is in progress. In addition to educational materials, general 
  303. information on NASA programs and plans, news releases, and graphics images 
  304. from current and prior spacecraft missions such as Voyager and Magellan, 
  305. SpaceLink also provides current news and information on missions in 
  306. Program JPLCLOCK Multimission Control Center Clock                 Page 3
  307.  
  308.  
  309. progress. Mission status reports for all active missions are generated 
  310. periodically. I regularly call SpaceLink and post files of interest on my 
  311. own bulletin board system (BBS).
  312.      Special thanks to Charles White of the NASA Jet Propulsion Laboratory 
  313. for his comments and suggestions during the development and testing of this 
  314. program, as well as a fascinating visit to the JPL Multimission Computer 
  315. Control Center. Like many others, I consider the Jet Propulsion Laboratory 
  316. to be a unique national resource, unequaled anywhere else in the world. 
  317. JPLCLOCK is entirely "a labor of love", to repeat a well-worn phrase; to 
  318. see my software operating in the MCCC where amazing projects such as 
  319. Voyager and Magellan are controlled is sufficient reward.
  320.      A brief biographical note: I am a retired physicist and engineer who 
  321. spent all of his professional life in the world of electronics, data 
  322. communications and, more recently, computers. As a young man I was actively 
  323. involved in the early American space program as a contractor for the Jet 
  324. Propulsion Laboratory, working on projects such as Ranger and Mariner. 
  325. Perhaps as a consequence of these and the many other remarkable NASA 
  326. projects directed by JPL, my respect and admiration for The Lab and its 
  327. people practically knows no bounds. I was also involved with the Mercury, 
  328. Gemini, and Apollo projects and my interest in space has continued to this 
  329. day. My experience includes both hardware and software, and I designed and 
  330. implemented software professionally for many years with considerable 
  331. success.
  332.      I have been writing software for IBM-compatible personal computers, 
  333. usually oriented toward space and astronomy, for a number of years. Since 
  334. 1987 I have also maintained the RPV ASTRONOMY BBS, a free access bulletin 
  335. board system with an emphasis on space and astronomy. So successful has
  336. my latest "hobby" become that it is threatening to overwhelm my bulletin 
  337. board system and consume all of my available time just answering the mail! 
  338. All of my programs are free although I do encourage users to register them 
  339. for a modest fee. If my software also serves to help spark the interest of 
  340. young people in science and technology or can be a learning tool at any 
  341. level, I will have more than achieved my purposes.
  342.      Two of my programs, ASTROCLK and STSORBIT, have become widely known 
  343. throughout United States, Canada, and Europe. ASTROCLK is an attempt to 
  344. consolidate a multiplicity of astronomy and time related programs into a 
  345. single useful computer tool. My desire to "keep in touch" with our Space 
  346. Shuttle missions led to the development of STSORBIT, a simulation of the 
  347. large wall map in Mission Control at the Johnson Space Center in Houston, 
  348. Texas. STSORBIT eventually found its way (several times) to JPL where it is 
  349. now often projected in the MCCC during Space Shuttle missions and for other 
  350. Earth orbiting missions, and was the catalyst for JPLCLOCK. The initial 
  351. versions of JPLCLOCK were written over a period of several weeks in June of 
  352. 1991 with close coordination with JPL. Even before the program was 
  353. "finished" (if such programs are EVER really finished!), JPLCLOCK was being 
  354. used during a planned power outage as the primary time standard in the 
  355. Mission Control Center. JPL is also considering use of the program outside 
  356. the Mission Control Center to help inform Lab personnel and visitors. How 
  357. useful it may be to others remains to be seen.
  358.      For current space and astronomy programs and data, as well as the most 
  359. recent version of this program, call my bulletin board system (BBS). If the 
  360. BBS has not answered after the fourth ring, hang up, wait TWO MINUTES, then 
  361. call back; the system has a power controller and if the system is off it 
  362. takes that long for the computer to start up and do its housekeeping 
  363. chores. The system now has almost 1000 users and is often busy, so be 
  364. Program JPLCLOCK Multimission Control Center Clock                 Page 4
  365.  
  366.  
  367. patient.
  368.  
  369.  
  370.                              RPV ASTRONOMY BBS
  371.  
  372.                               (213) 541-7299
  373.  
  374.  
  375.                               IMPORTANT NOTE
  376.                               --------------
  377.  
  378.           The area code for my BBS telephone number is scheduled 
  379.           to change in November, 1991 as the Los Angeles 213 area 
  380.           code is once again split to accommodate Southern 
  381.           California's continuing growth. The new number will be 
  382.           (310) 541-7299.
  383.  
  384.  
  385.      If you do not have access to a modem, you may send US$10.00 to cover 
  386. materials, postage and handling for a copy of the latest version on disk; 
  387. please specify 5-1/4" 360K or 3-1/2" 720K disks.
  388.      JPLCLOCK can be a complex program when all of its features used, 
  389. perhaps more complex than was originally anticipated. This documentation 
  390. attempts to completely describe the program and its operation. There may be 
  391. errors in this documentation, but please read it BEFORE you drop me a nasty 
  392. note or give up!
  393.  
  394.                                    David H. Ransom, Jr.
  395.                                    7130 Avenida Altisima
  396.                                    Rancho Palos Verdes, CA 90274
  397. Program JPLCLOCK Multimission Control Center Clock                 Page 5
  398.  
  399.  
  400. PROGRAM DESCRIPTION
  401. -------------------
  402.  
  403.      The NASA/JPL Multimission Computer Control Center (MCCC), located at 
  404. the Jet Propulsion Laboratory in Pasadena, California, is the "nerve 
  405. center" where all NASA planetary missions and some Earth orbiting missions 
  406. are controlled. Other NASA and ESA (European Space Agency) missions may 
  407. also be supported by MCCC from time to time. The Control Center resembles 
  408. other similar installations with consoles for each of the controllers and 
  409. other responsible individuals directing the progress of a mission and 
  410. coordinating the operation of the NASA Deep Space Network and other 
  411. critical resources. Operations continue around the clock with a number of 
  412. missions typically active. Missions active at this time include Voyager 1 
  413. and 2, Magellan, Ulysses, and Galileo.
  414.      Above the main floor of the Control Center and in plain view of all 
  415. controllers and individuals in the visitors gallery are seven projection 
  416. screens, five large and two slightly smaller. These screens display 
  417. television or computer generated images related to missions in progress. 
  418. For example, NASA Select Television is frequently displayed when it is 
  419. broadcasting. JPLCLOCK is normally displayed on one of the screens as 
  420. selected by Control Center personnel.
  421.      JPLCLOCK displays various time information for the convenience of 
  422. Control Center personnel. The current local time (Pacific Standard/Daylight 
  423. Time) and Coordinated Universal Time (UTC, or GMT as it was formerly 
  424. designated) are displayed in large characters in the program's main window. 
  425. Below that window are four smaller windows displaying local time at the DSN 
  426. locations or other selected installations. On the right side of the screen 
  427. are six smaller windows which display the Mission Elapsed Time for selected 
  428. missions in progress (green background) or Countdown Time for missions or 
  429. events due to occur (red background). The background color switches from 
  430. red to green when the countdown reaches zero or the event occurs. As many 
  431. as 60 different missions or events may be monitored with these timers.
  432.  
  433.                               IMPORTANT NOTE
  434.                               --------------
  435.  
  436.           Before using program JPLCLOCK in applications requiring 
  437.           high accuracy, read the section DOS TIME CALIBRATION in 
  438.           this documentation!
  439.  
  440.      JPLCLOCK may be operated in two modes: NORMAL and PAGE. The NORMAL 
  441. mode displays the main window, four location time windows, and from one to 
  442. six timer windows continuously. The PAGE mode displays the same main window 
  443. and four location windows but sequences through up to 60 different timer 
  444. windows using ten different timer "pages". The timer page is normally 
  445. switched every thirty seconds; however, when any timer on a particular page 
  446. is within one hour of of "Time Zero", the display will "freeze" on that 
  447. timer page. As long as events which occur within several hours of one 
  448. another are arranged on the same screen page, JPLCLOCK will automatically 
  449. ensure that the timer for each event is displayed from one hour before to 
  450. one hour after Time Zero.
  451.      In addition, up to ten screen pages of supplementary text information 
  452. or messages may be displayed in conjunction with the PAGE mode. When the 
  453. TEXT mode is active, the program cycles through all of the active timers 
  454. then switches and presents the text pages in sequence. This real time to 
  455. Program JPLCLOCK Multimission Control Center Clock                 Page 6
  456.  
  457.  
  458. text to real time sequence repeats indefinitely unless an active timer 
  459. reaches the plus or minus one hour period around its Time Zero, in which 
  460. case that timer page freezes as described above.
  461.      The default JPLCLOCK configuration is arranged for the convenience of 
  462. the Jet Propulsion Laboratory MCCC. One or more initialization files, files 
  463. with a file type ".INI" and containing alternate or supplementary time and 
  464. location data, may also be included from time to time. Manual configuration 
  465. features are included for setup at other locations. Window titles, mission 
  466. or event names, and window times are easily configured for the desired 
  467. location or event. Inactive location or timer windows may be removed from 
  468. the screen. The current configuration is saved each time JPLCLOCK is run so 
  469. that the program may be resumed at any time. While the program is running, 
  470. all keyboard operations are timed so that inattention on the part of the 
  471. user for more than ten to thirty seconds (depending upon the operation 
  472. being performed) will result in automatic restarting of the program.
  473.      JPLCLOCK is intended for a dedicated IBM-compatible computer running 
  474. MS-DOS version 3.3 or higher. Best performance will be achieved using a 286 
  475. or better processor equipped with a math coprocessor chip. However, the 
  476. program should execute correctly (but perhaps with perceptible delays) 
  477. using any IBM-compatible computer with or without a math coprocessor chip. 
  478. For normal use, the program should started from the computer's AUTOEXEC.BAT 
  479. file so that it is restarted in the event of a power failure.
  480.      As of June 1991, JPLCLOCK is still a relatively new program. Although 
  481. all known problems have been corrected, there are doubtless a few minor 
  482. bugs yet to be discovered. User comments and suggestions are welcome. 
  483. Future versions are anticipated at periodic intervals as new features are 
  484. added and/or problems are corrected. Planned features include optional 
  485. automatic synchronization with compatible external time signals. 
  486. Program JPLCLOCK Multimission Control Center Clock                 Page 7
  487.  
  488.  
  489. JPLCLOCK HARDWARE AND SOFTWARE REQUIREMENTS
  490. -------------------------------------------
  491.  
  492.      JPLCLOCK is written for use on IBM-compatible computers and has only 
  493. been tested on computers equipped with an 80286 or higher processor. Most 
  494. of the features should operate correctly on older computers but those 
  495. features which use the clock/calendar chip, introduced with the AT-class 
  496. computer and subsequently retrofitted to older computers as an add-on chip 
  497. or circuit card, may not operate correctly. Several different clock chips 
  498. have been used on PC and XT machines which are NOT compatible with the AT 
  499. chip and may not be compatible with program TIMESET.
  500.      JPLCLOCK requires a modest amount of the computer's memory. The 
  501. program has not been tested on a machine with less than 640K of main RAM. 
  502. Although most JPLCLOCK operations are entirely memory resident, program 
  503. startup, use of program TIMESET, and the DOS shell all require disk 
  504. accesses. Because of the excessive time delays associated with floppy disk 
  505. drives, a hard disk is strongly recommended. Even with a hard disk, delays 
  506. and system software vary considerably and performance may differ from drive 
  507. to drive.
  508.      JPLCLOCK assumes DOS Version 3.3 or higher; MS-DOS and PC-DOS are 
  509. considered equivalent although testing has been performed only on systems 
  510. using MS-DOS. Limited testing has been performed using a beta version of 
  511. DOS 5.0 with no problems encountered. The DOS shell feature of DOS, 
  512. required for use of program TIMESET, is considered unreliable for versions 
  513. of DOS prior to DOS 3.1. If you have not upgraded to at least DOS 3.3, 
  514. consider doing so!
  515.      As discussed in more detail elsewhere, the DOS software clock varies 
  516. considerably from computer to computer and from one version of DOS to 
  517. another. Avoid using your favorite TSR (Terminate and Stay Resident) 
  518. programs when running JPLCLOCK. Several hours of operation with JPLCLOCK 
  519. will establish whether or not your computer and DOS software clock are 
  520. suitable for use with the program. If the DOS software clock varies too 
  521. much with time or temperature it cannot be used with JPLCLOCK and there is 
  522. no remedy in most cases except to use a different computer.
  523.      Because JPLCLOCK is a new program (as of Version 9128), user feedback 
  524. on both problems and successes will be appreciated! The variety and range 
  525. of quality of hardware and software "out there" is almost unbelievable and 
  526. it is helpful if I know which brands of hardware and software work or fail. 
  527. Please take the time to fill out the questionnaire in file README, whether 
  528. or not you wish to register the program.
  529.  
  530.  
  531. JPLCLOCK FILES
  532. --------------
  533.  
  534.      JPLCLOCK is normally distributed in archived format using either the 
  535. PAK or ZIP format. The following files are usually included:
  536.  
  537.           JPLCLOCK.EXE        Main program          (required)
  538.           JPLCLOCK.DOC        Documentation         (not required)
  539.           JPLCLOCK.INI        Initialization data   (optional)
  540.           JPLCLOCK.MTD        Mission Timer Data    (optional)
  541.           JPLCLOCK.MSG        Sample TEXT file      (optional)
  542.           JPLFONT.COM         Experimental EGA font (optional)
  543.           README              Program Registration  (not required)
  544. Program JPLCLOCK Multimission Control Center Clock                 Page 8
  545.  
  546.  
  547.  
  548. Files noted as "(required)" must be in the current default directory for 
  549. program operation. Files noted as "(optional)" do not need to be in the 
  550. default directory when JPLCLOCK is operated but may provide additional 
  551. features or information if present. File JPLCLOCK.MTD contains data for 
  552. selected missions. If file JPLCLOCK.INI is not present, it will 
  553. automatically be created the first time the program is executed.
  554.      Additional MTD files (files with filetype ".MTD", standing for 
  555. "Mission Timer Data") may be included from time to time with interesting or 
  556. upcoming events pre-programmed. Other MTD files may be posted periodically 
  557. on my bulletin board system for upcoming events.
  558.      Registration of program JPLCLOCK is not required but certainly will be 
  559. appreciated! See the file README for registration information. JPLCLOCK has 
  560. required considerable effort to develop and test and your response will 
  561. encourage me to continue enhancing and supporting the program. As an 
  562. additional "bonus" for registration, I will send the latest version of 
  563. JPLCLOCK to you on disk; please specify the disk size desired: 5-1/4" 360K 
  564. or 3-1/2" 720K (supplied if no disk size specified).
  565. Program JPLCLOCK Multimission Control Center Clock                 Page 9
  566.  
  567.  
  568. STARTING PROGRAM JPLCLOCK
  569. -------------------------
  570.  
  571.      Before starting program JPLCLOCK for the first time, make sure that 
  572. all required files are in the current drive and directory (see below). 
  573. Delete the file JPLCLOCK.INI if it has been created by a previous version 
  574. of JPLCLOCK or you are using the program at a different location from the 
  575. one which prepared the file. The format of the INI file may change with 
  576. new versions and, although the program may read prior versions of .INI 
  577. files, it is safer to "start from scratch". The INI file also includes 
  578. specific information related to the local time zone.
  579.      To start program JPLCLOCK for operation in the NORMAL mode, enter the 
  580. following command at the DOS prompt:
  581.  
  582.           JPLCLOCK
  583.  
  584. As described in the summary of command line options below, you may add the 
  585. "/M" command line option to the examples above to force monochrome 
  586. operation on CGA, EGA, and VGA systems. 
  587.  
  588.  
  589. JPLCLOCK Command Line Options
  590. -----------------------------
  591.  
  592.      All JPLCLOCK program features (except monochrome operation) may be 
  593. enabled or disabled from within the program. However, to facilitate use 
  594. with batch files, certain features may be enabled using "command line 
  595. options", specific words preceded by the slash ("/"), used when the program 
  596. is started from the DOS prompt. A command line consists of the program name 
  597. followed by the desired command line option(s): "JPLCLOCK [option] ... 
  598. [option]". The following command line options are available:
  599.  
  600.      ?         (Special option) Displays brief help information to remind 
  601.                users of the principal command line options and then returns 
  602.                to DOS.
  603.  
  604.      /M        Force monochrome operation. On color monitors, this usually 
  605.                forces white or light white on black background.
  606.  
  607.      /SMALL    Enables the SMALL main clock window and the additional four 
  608.                SELECTED/PRIORITY timer windows.
  609.  
  610.      /PAGE     Enables PAGE mode operation with up to 60 Mission/Event 
  611.                Timers displayed in "pages" of six timers each. Default is 
  612.                the non-page mode with only 6 Mission/Event Timers.
  613.  
  614.      /TEXT     Enables TEXT (and PAGE) mode operation if file JPLCLOCK.MSG 
  615.                is found. Up to ten screen pages of prepared text may be 
  616.                sequentially displayed.
  617.  
  618.  
  619. Setting UTC Zone and Daylight Flag
  620. ----------------------------------
  621.  
  622.      JPLCLOCK must know the correct time and time zone in order to operate 
  623. Program JPLCLOCK Multimission Control Center Clock                 Page 10
  624.  
  625.  
  626. accurately. The first time JPLCLOCK is executed (or any time the program 
  627. cannot find the file JPLCLOCK.INI), the program prompts you for your UTC 
  628. Offset and asks if you are now on Daylight or Summer time:
  629.  
  630.      Set UTC TIME ZONE OFFSET and DAYLIGHT FLAG
  631.  
  632.      JPLCLOCK must know the difference between your local time zone and 
  633.      Universal Coordinated Time (UTC), also sometimes known as Greenwich 
  634.      Mean Time (GMT). With this information, JPLCLOCK can automatically 
  635.      adjust launch times and dates for your local time zone. In addition, 
  636.      JPLCLOCK must know if you are now on STANDARD or DAYLIGHT (SUMMER) 
  637.      time.
  638.  
  639.      First, enter the difference between your STANDARD time zone and UTC in 
  640.      hours. Do NOT include the hour for daylight time if you are now on 
  641.      DAYLIGHT time; it will be entered separately. For most time zones in 
  642.      the United States and Canada, the entries required are:
  643.  
  644.           Eastern Standard Time     EST    -5.00
  645.           Central Standard Time     CST    -6.00
  646.           Mountain Standard Time    MST    -7.00
  647.           Pacific Standard Time     PST    -8.00
  648.  
  649.      Enter UTC Offset (hours)  [not set]:    -8
  650.      Enter Daylight Flag (0=OFF, 1=ON)  [0]: 1
  651.  
  652. The example entries shown above illustrate the required information for 
  653. Pacific Daylight Time: "-8" for the standard time zone offset from UTC and 
  654. "1" to signify that Daylight Time is in effect. Enter the information that 
  655. is appropriate for your time zone. Once the UTC Offset and Daylight Flag 
  656. information have been entered, these data are saved in file JPLCLOCK.INI 
  657. and will not be requested again.
  658.      Not surprisingly, JPLCLOCK relies upon the internal clock in your 
  659. computer to maintain accurate time. However, not all computer clocks are 
  660. created equal; some are much more accurate than others and it is difficult 
  661. to predict that performance in advance. The computer clock was simply not 
  662. designed as a high precision timekeeping instrument. Further, recent 
  663. versions of DOS (3.3 and higher) can reset an otherwise relatively accurate 
  664. hardware clock if the software clock loses time. 
  665.      Just as your quartz watch will keep time most consistently (as opposed 
  666. to accurately) when you leave it always on your wrist, so too your computer 
  667. clock will keep time best if it is left on continuously. Time and 
  668. temperature changes are a quartz oscillator's worst enemy, along with a 
  669. long term crystal aging effect. Taken together, these effects can cause 
  670. your clock to lose or gain up to several seconds per day. For reasonably 
  671. accurate operation, your computer clock should be synchronized against a 
  672. time standard from time to time. See the sections DOS CLOCK CALIBRATION and 
  673. TIME SYNCHRONIZATION for additional discussion, especially for 
  674. installations where high precision is desired or required.
  675.      Other factors may also affect the accuracy of the computer's clock. 
  676. One of the most common and severe offenders is Local Area Network (LAN) 
  677. software; while this can vary depending upon the LAN BIOS and network 
  678. hardware being used, the networking software in many systems may completely 
  679. or partially ignore the clock's "time ticks" during network operations. 
  680. Another frequent offender is high speed communication (usually about 50Kb 
  681. Program JPLCLOCK Multimission Control Center Clock                 Page 11
  682.  
  683.  
  684. per second or higher) via the serial communications ports, CON1 through 
  685. COM4; in this case too, time ticks may be lost and the clock will fall 
  686. behind. Clock problems related to networking or other software can result 
  687. in time losses up to tens of seconds or even minutes per day! There is no 
  688. remedy for this situation except to avoid using the software which causes 
  689. the problem.
  690.      Once the UTC Offset and Daylight Flag are set, JPLCLOCK continues with 
  691. its normal startup and displays the title screen (see below). Verify that 
  692. the current local and UTC time and date (including your local time zone 
  693. abbreviation if you are located in the United States) are correct before 
  694. proceeding. JPLCLOCK will start automatically in 10 seconds and the message 
  695. on the screen will count down during the wait time. No operator action is 
  696. required if you wish JPLCLOCK to start; you may also press ENTER twice to 
  697. immediately start the program, bypassing the 10 second delay.
  698.      JPLCLOCK's full name and the current version are shown on the title 
  699. screen, followed by the current time and date. At this point the program is 
  700. awaiting user input; if no keyboard input is detected within 10 seconds, 
  701. the program will automatically begin operation. Press ENTER to display the 
  702. Main Menu or ESC to quit the program and return to DOS. All other keys are 
  703. ignored except that a timed message is displayed at the upper right of the 
  704. screen reminding the user to press ENTER for the Main Menu.
  705. Program JPLCLOCK Multimission Control Center Clock                 Page 12
  706.  
  707.  
  708.  
  709.  
  710.                                 Program JPLCLOCK
  711.  
  712.               NASA/JPL Multimission Computer Control Center Clock
  713.                                   Version 9128
  714.  
  715.  
  716.                    Current time:  20:18:02 PDT   03:18:02 UTC
  717.                    Current date:    06/30/1991     07/01/1991
  718.  
  719.  
  720.                 JPLCLOCK will start automatically in 10 seconds
  721.  
  722.                                        OR
  723.  
  724.                         Press ENTER for MENU, ESC to QUIT
  725.  
  726.  
  727.  
  728.                     (C) Copyright David H. Ransom, Jr., 1991
  729.                               All rights reserved.
  730.  
  731.  
  732.      Note both the local time and date (Pacific Daylight Time in the 
  733. example) and UTC time and date (Coordinated Universal Time). Be sure that 
  734. ALL time and date items are correct. If not, press ENTER to go to 
  735. JPLCLOCK's Main Menu and then press F4 to correct the information.
  736.  
  737.  
  738.                               IMPORTANT NOTE
  739.                               --------------
  740.  
  741.           If you are using a JPLCLOCK.INI file (or any other INI 
  742.           file) prepared at some other location, your local time 
  743.           and date may not be correct. If all else fails, quit 
  744.           program JPLCLOCK, delete file JPLCLOCK.INI, and restart 
  745.           the program. JPLCLOCK will assist you in setting up the 
  746.           program for your time zone and will create a new 
  747.           JPLCLOCK.INI file for subsequent use.
  748.  
  749.  
  750. JPLCLOCK MAIN CLOCK DISPLAY
  751. ---------------------------
  752.  
  753.      The Main Clock display for JPLCLOCK is illustrated on Pages ii and iii 
  754. above. Two screen layouts are available, selectable either by a command 
  755. line option or by a Function Key, NORMAL or SMALL. The NORMAL screen 
  756. provides a large window with special large characters for Local and UTC 
  757. Times and is recommended when the program will be used on a normal monitor 
  758. which may have to be viewed from some distance. The SMALL screen provides a 
  759. smaller window for Local and UTC Times along with up to four additional 
  760. timers and may be preferred when JPLCLOCK is projected on a large screen.
  761.      The remaining windows are the same for both screen layouts. The four
  762. Location Clocks are below the main window, and the six Mission/Event Timers 
  763. Program JPLCLOCK Multimission Control Center Clock                 Page 13
  764.  
  765.  
  766. are on the right side of the screen. The Location Clocks and the 
  767. Mission/Event Timers are separately described in following sections. In 
  768. addition to these data, the main clock display also includes the program 
  769. name and version, as well as the current Julian Date (a standard method of 
  770. day numbering used by scientists and astronomers) and local date (day-
  771. month-year) at the upper right corner of the display.
  772.      The following keys are active while JPLCLOCK is running and the clocks 
  773. and timers are displayed on the screen:
  774.  
  775.           ENTER     Stop the main clock display and go to JPLCLOCK's Title 
  776.                     Screen. Press ENTER again to go to the Main Menu. See 
  777.                     the section below for a description of the available 
  778.                     commands at the Main Menu.
  779.  
  780.             ESC     Quit JPLCLOCK and return to DOS. You will be asked to 
  781.                     press ESC again to confirm that you wish to quit the 
  782.                     program. If not, press ENTER to resume operation.
  783.  
  784.          ALT-F1     Freeze the display. Updating the screen stops EXCEPT 
  785.                     that Local and UTC Time will be updated above the Main 
  786.                     Window and the word "FREEZE" will flash in yellow above 
  787.                     the Mission Timer Windows while the freeze is in 
  788.                     effect. The freeze will be automatically released in 
  789.                     five minutes, or press ENTER to release the freeze 
  790.                     immediately. (Actually, pressing any key except keys 
  791.                     which do not generate a character, such as SHIFT, ALT, 
  792.                     or CTRL, will release the freeze.)
  793.  
  794.          ALT-F5     Change SELECTED/PRIORITY EVENTS display. This key is 
  795.                     active ONLY when the SMALL Main Window is active. The 
  796.                     choices are: four SELECTED Mission Timers; two SELECTED 
  797.                     Mission Timers and two PRIORITY Mission Timers; or, 
  798.                     four PRIORITY Mission Timers. Press again for the next 
  799.                     arrangement.
  800.  
  801.          ALT-F6     Switch between the LARGE Main Window and the SMALL Main 
  802.                     Window. Enabling the SMALL Main Window also displays 
  803.                     the four SELECTED/PRIORITY Event Timers (as currently 
  804.                     selected).
  805.  
  806.          ALT-F7     Enable or disable the TEXT mode if the file 
  807.                     JPLCLOCK.MSG is present; otherwise, this command has no 
  808.                     effect. See the section USING TEXT MODE for further 
  809.                     information on this mode of program operation. This 
  810.                     command is the same as the F7 command on the Main Menu.
  811.  
  812.          ALT-F8     Enable or disable the PAGE mode. If the TEXT mode is 
  813.                     enabled when the PAGE mode is disabled, the TEXT mode 
  814.                     will also be disabled. This command is the same as the 
  815.                     F8 command on the Main Menu.
  816.  
  817.          ALT-F9     EXPERIMENTAL COMMAND to enable a special screen font, 
  818.                     similar to "Helvetica", for EGA and VGA monitors ONLY. 
  819.                     The special font is designed primarily for EGA systems 
  820.                     and may not operate correctly on VGA systems. (On one 
  821. Program JPLCLOCK Multimission Control Center Clock                 Page 14
  822.  
  823.  
  824.                     VGA system, for example, the last few lines of the 
  825.                     screen show a variety of text and graphics symbols when 
  826.                     program TIMESET is executed, and these symbols remain 
  827.                     on the screen when JPLCLOCK resumes operation.)
  828.  
  829.         ALT-F10     Immediately perform TIME SYNCHRONIZATION using the 
  830.                     external program TIMESET to call either the National 
  831.                     Institute of Standards and Technology (NIST) or the 
  832.                     U.S. Naval Observatory (USNO). See the section TIME 
  833.                     SYNCHRONIZATION for further information on this command 
  834.                     and program TIMESET. This command is the same as the 
  835.                     F10+F1 commands on the Main Menu.
  836.  
  837.      Four additional timer windows appear on the screen below the Main 
  838. Clock window when the SMALL Main Window is selected. These are divided into 
  839. two classes: SELECTED EVENTS and PRIORITY EVENTS. SELECTED EVENTS are just 
  840. like regular Mission/Event Timers except that they are always displayed; 
  841. they may be selected from the current Mission/Event Timers by pressing 
  842. F3+F2 from the Main Menu. PRIORITY EVENTS are those events which have a 
  843. Time Zero which is within 24 hours of the current time.
  844.      Three different arrangements of SELECTED EVENTS and PRIORITY EVENTS 
  845. may be selected by pressing ALT-F5 when the SMALL Main Clock is displayed. 
  846. These two classes of events are always selected from the available 60
  847. Mission/Event Timers; note that the titles have been truncated because the 
  848. window width is shorter than the normal Mission/Event Window. The default 
  849. arrangement displays four SELECTED EVENTS:
  850.  
  851.           +--------------- SELECTED EVENTS ----------------+
  852.           |                                                |
  853.           +[Hubble Space Telesc]-+  +[ Voyager 1 ]---------+
  854.       #1  |    424  01:38:02     |  |  5,051  01:13:54     |  #3
  855.           +-----------------------  +----------------------+
  856.           |                                                |
  857.       #2  +[Gamma Ray Observato]D+  +[ Voyager 2 ]---------+
  858.           |     90  22:49:09     3  3  5,066  23:47:54     |  #4
  859.           +----------------------+  +----------------------+
  860.           +------------------------------------------------+
  861.  
  862.      Pressing ALT-F5 once will change the arrangement to two SELECTED 
  863. EVENTS and two PRIORITY EVENTS:
  864.  
  865.           +-- SELECTED EVENTS ---+  +-- PRIORITY EVENTS ---+
  866.           |                      |  |                      |
  867.       #1  +[Hubble Space Telesc]D+  |                      |  #1
  868.           |    424  01:37:27     |  |                      |
  869.           +----------------------+  |                      |
  870.           |                      |  |                      |
  871.       #2  +[Gamma Ray Observato]-+  |                      |  #2
  872.           |     90  22:48:34     |  |                      |
  873.           +----------------------+  |                      |
  874.           +----------------------+  +----------------------+
  875.  
  876. Note that only the first two SELECTED EVENTS are now displayed. In this 
  877. example, there are no active PRIORITY EVENTS and therefore that window area 
  878. is blank. JPLCLOCK continuously scans all 60 Mission/Event Timers to 
  879. Program JPLCLOCK Multimission Control Center Clock                 Page 15
  880.  
  881.  
  882. determine if any are less than 24 hours (plus or minus) from the current 
  883. time. Events which have not yet occurred are shown with a RED background, 
  884. and events yet to occur are shown with a GREEN background. If any events 
  885. are found within the 24 hour range, they are sorted in such a way that #1 
  886. is that event now closest to Time Zero and #2 is the next closest to Time 
  887. Zero. The ordering of PRIORITY EVENTS is set dynamically and will change as 
  888. the time difference between the Time Zero set in the Mission/Event Timers 
  889. changes with respect to current time.
  890.      Pressing ALT-F5 again will change the arrangement to four PRIORITY 
  891. EVENTS:
  892.  
  893.           +--------------- PRIORITY EVENTS ----------------+
  894.           |                                                |
  895.           +[ Test Event ]--------+                         |
  896.       #1  |      0  01:38:02     |                         |  #3
  897.           +-----------------------                         |
  898.           |                                                |
  899.       #2  |                                                |
  900.           |                                                |  #4
  901.           |                                                |
  902.           +------------------------------------------------+
  903.  
  904. As described above, the PRIORITY EVENTS are continuously scanned and 
  905. sorted. With this display arrangement, from zero to four PRIORITY EVENTS 
  906. may be displayed. In the example shown, the Mission/Event Timer called 
  907. "Test Event" has been detected as within 24 hours of Time Zero (1 hour and 
  908. 38 minutes past Time Zero in this case) and is therefore displayed.
  909. Program JPLCLOCK Multimission Control Center Clock                 Page 16
  910.  
  911.  
  912. JPLCLOCK MAIN MENU
  913. ------------------
  914.  
  915.  
  916.                                 Program JPLCLOCK
  917.  
  918.               NASA/JPL Multimission Computer Control Center Clock
  919.                                   Version 9128
  920.  
  921.  
  922.                    Current time:  20:18:50 PDT   03:18:50 UTC
  923.                    Current date:    06/30/1991     07/01/1991
  924.  
  925.  
  926.                 JPLCLOCK will start automatically in 10 seconds
  927.  
  928.  
  929.  
  930.        F1   Program Information            F6   CLOCK Calibration [OFF]
  931.        F2   Set LOCATION CLOCKS            F7   Switch TEXT Mode  [OFF]
  932.        F3   Set EVENT/MISSION TIMERS       F8   Switch PAGE Mode   [ON]
  933.        F4   Set DAYLIGHT and Defaults      F9   DOS Shell (3.3+ ONLY!)
  934.        F5   Read/Save INI & MTD Files     F10   Time Synchronization
  935.  
  936.     ENTER   Resume Program JPLCLOCK       ESC   Quit Program JPLCLOCK
  937.  
  938.             Enter selection:
  939.  
  940.      As with the title screen, JPLCLOCK is awaiting user input; if no 
  941. keyboard input is detected within 10 seconds, the program will 
  942. automatically resume operation. Note that the Main Menu displays the 
  943. current status of CLOCK Calibration, TEXT Mode, and PAGE Mode. Press ENTER 
  944. to immediately resume program operation. Press ESC to quit and return to 
  945. DOS; the program will request that you press ESC a second time to confirm 
  946. that you wish to return to DOS. (To resume JPLCLOCK when this message 
  947. appears, press ENTER.) To go to one of the sub-menus, press the indicated 
  948. Function Key. The purpose and operation of each menu item is described on 
  949. the following pages.
  950. Program JPLCLOCK Multimission Control Center Clock                 Page 17
  951.  
  952.  
  953. F1   Program Information
  954. ------------------------
  955.  
  956.  
  957.      Function Key F1 displays a brief description of the program and 
  958. gives the telephone number of my bulletin board system (BBS), RPV ASTRONOMY 
  959. BBS, in Rancho Palos Verdes, California near Los Angeles. This is a free 
  960. access BBS which I maintain as a public service. There are nearly 1,000 
  961. more or less regular callers, and the system is frequently busy, so please 
  962. be patient! The BBS computer has a power controller; if the BBS has not 
  963. answered by the fourth ring, hang up and call back in approximately two 
  964. minutes.
  965.  
  966.                              RPV ASTRONOMY BBS
  967.  
  968.                               (213) 541-7299
  969.                       (310) 541-7299 [November, 1991]
  970.  
  971.  
  972.                               IMPORTANT NOTE
  973.                               --------------
  974.  
  975.           The BBS area code number will change in November, 1991 
  976.           as the telephone company again splits the Los Angeles 
  977.           213 area code into two areas. The new number will be 
  978.           (310) 541-7299.
  979.  
  980.      Program JPLCLOCK was written especially for the NASA/JPL Multimission
  981.      Computer Control Center. It provides a main window with local and UTC
  982.      time, four location clocks usually displaying local time at the NASA
  983.      Deep Space Network sites in Goldstone, Canberra, and Madrid, and six
  984.      event timers used to display mission elapsed time or the time for an
  985.      upcoming event of interest. The current version of JPLCLOCK is always
  986.      available on my BBS.
  987.  
  988.                                                  David H. Ransom, Jr.
  989. Program JPLCLOCK Multimission Control Center Clock                 Page 18
  990.  
  991.  
  992. F2   Set LOCATION CLOCKS
  993. ------------------------
  994.  
  995.      JPLCLOCK displays from one to four LOCATION CLOCKS. When the program 
  996. is used in the JPL Mission Control Center, three of the clocks normally 
  997. display the time for the DSN (Deep Space Network) antenna locations; the 
  998. fourth location clock may be used for another location of interest or may 
  999. be left blanked out. The location clocks are numbered #1 through #4 and are 
  1000. located in the lower left portion of the display screen below the main 
  1001. window in the following relative positions:
  1002.  
  1003.           |      Main Window       |  |
  1004.           +------------------------+  +---
  1005.  
  1006.           +----------+  +----------+  +---
  1007.           |    #1    |  |    #3    |  |
  1008.           +----------+  +----------+  +---
  1009.  
  1010.           +----------+  +----------+  +---
  1011.           |    #2    |  |    #4    |  |
  1012.           +----------+  +----------+  +---
  1013.  
  1014.      Each Location Clock displays the local time at the location using the 
  1015. following format (all times in 24-hour notation, HH:MM:SS):
  1016.  
  1017.           147   13:24:16 PDT
  1018.           --+   -+ -+ -+ --+
  1019.             |    |  |  |   |
  1020.             |    |  |  |   +---  Time Zone Abbreviation (if present)
  1021.             |    |  |  |
  1022.             |    |  |  +-------  Local Seconds
  1023.             |    |  +----------  Local Minutes
  1024.             |    +-------------  Local Hours
  1025.             |
  1026.             +------------------  Local Day of the Year
  1027.  
  1028.      Function Key F2 allows the user to change the name and time zone 
  1029. information for the four location clocks displayed below the main window.
  1030. If a location name is PRESENT for a given location clock, that clock will 
  1031. be displayed on the screen; if the location name is ERASED (the "Location 
  1032. Name" column for the clock is blank in the display), the clock will NOT be 
  1033. displayed on the screen. The default location clocks are shown below:
  1034.  
  1035.                                                          Uses
  1036.                     #  Location Name          UTC Offset  DST
  1037.                     -----------------------------------------
  1038.                     1  GDX  Goldstone              -8.00  YES
  1039.                     2  JSC  Houston                -6.00  YES
  1040.                     3  CAN  Canberra               11.00   NO
  1041.                     4  MAX  Madrid                  1.00   NO
  1042.  
  1043.                     Enter LOCATION # to change:
  1044.  
  1045. JPLCLOCK will automatically resume operation if no keyboard input is 
  1046. detected within 30 seconds. Each keystroke resets the 30 second timer. 
  1047. Program JPLCLOCK Multimission Control Center Clock                 Page 19
  1048.  
  1049.  
  1050. Press ENTER to cancel this function and return to the Main Menu making no 
  1051. changes. To continue, enter the number of the location clock to change and 
  1052. press ENTER. Then enter the new location name for that clock:
  1053.  
  1054.                     Enter new LOCATION NAME:
  1055.  
  1056. Press the TAB key to leave the name unchanged for this clock and skip to 
  1057. the time information. Press ENTER to erase the name and remove the clock 
  1058. from the display screen. To enter a new or corrected location name, type 
  1059. the new name and then press ENTER. JPLCLOCK will automatically capitalize 
  1060. the first letter of each word if it is lower case.
  1061.      In order to show the local time correctly for each location, JPLCLOCK 
  1062. must know the UTC Offset for the location; this is the number of hours 
  1063. which must be ADDED to UTC (Universal Coordinated Time) in order to obtain 
  1064. the local STANDARD time for the location. Do NOT include the additional 
  1065. hour if the location is on U.S. Daylight Savings Time; DO include the 
  1066. additional hour if the location is on daylight or summer time but the time 
  1067. changes do not correspond to those used in the United States. See the 
  1068. additional discussion below. 
  1069.  
  1070.                     Enter New UTC Offset (hours):
  1071.  
  1072. Press the TAB key to leave the current UTC Offset value unchanged. Press 
  1073. the ESC key to cancel all changes to this location clock. Otherwise, type 
  1074. the new UTC Offset in hours (and decimal parts of an hour if necessary) and 
  1075. then press ENTER.
  1076.      JPLCLOCK will independently adjust each location clock time for U.S. 
  1077. Daylight Savings Time if the special flag in the column "Uses DST" is 
  1078. marked "YES". As a general rule, therefore, respond "YES" if the location 
  1079. is within the United States (including Alaska and Hawaii); respond "NO" if 
  1080. the location is outside the United States.
  1081.  
  1082.                     Uses US Daylight (N=NO, Y=YES): 
  1083.  
  1084.      IMPORTANT NOTE: When the main Daylight Flag is changed (using F4+F3 
  1085. from the Main Menu), the appropriate correction will be automatically made 
  1086. for all locations which indicate "YES" in the "Uses DST" column. Locations 
  1087. outside the United States which use daylight or summer time but which 
  1088. change at different times from the United States should indicate "NO" in 
  1089. the "Uses DST" column and must be manually adjusted for each time change.
  1090.      
  1091.      When all of these questions have been answered, the information will 
  1092. be updated on the screen and the user may either continue to another 
  1093. location clock or return to the Main Menu.
  1094. Program JPLCLOCK Multimission Control Center Clock                 Page 20
  1095.  
  1096.  
  1097. F3   Set EVENT/MISSION TIMERS
  1098. -----------------------------
  1099.  
  1100.      One of the most important functions of JPLCLOCK is to be able to 
  1101. display Mission Elapsed Time (MET) or Countdown/Countup Time for a variety 
  1102. of missions and events. MIssion Elapsed Time usually measures the time 
  1103. since the mission was launched and is the primary time measure used for the 
  1104. Mission Timeline, the schedule of planned events and operations; this 
  1105. applies equally to short duration missions such as the Space Shuttle as 
  1106. well as to long duration missions such as Voyager and Hubble Space 
  1107. Telescope. Countdown/Countup Times may be critical events in the progress 
  1108. of a mission, such as scheduled Launch Time or Venus Orbit Insertion for 
  1109. Magellan, and controllers need to be able to judge the time remaining until 
  1110. (or time passed since) specific tasks or operations are to be (or were 
  1111. supposed to have been) performed.
  1112.      JPLCLOCK is able to independently time up to 60 different events or 
  1113. missions using six MISSION TIMER WINDOWS on the display screen and 
  1114. switching from one mission timer "page" to another to display up to ten 
  1115. pages. The mission timer windows are numbered #1 through #6 and are located 
  1116. on the right of the display screen beside the main window in the following 
  1117. relative positions:
  1118.  
  1119.           ---+  +----------------+
  1120.              |  |    TIMER #1    |
  1121.            M |  +----------------+
  1122.            a |
  1123.            i |  +----------------+
  1124.            n |  |    TIMER #2    |
  1125.              |  +----------------+
  1126.            W |
  1127.            i |  +----------------+
  1128.            n |  |    TIMER #3    |
  1129.            d |  +----------------+
  1130.            o |
  1131.            w |  +----------------+
  1132.              |  |    TIMER #4    |
  1133.           ---+  +----------------+
  1134.  
  1135.           ---+  +----------------+
  1136.              |  |    TIMER #5    |
  1137.           ---+  +----------------+
  1138.  
  1139.           ---+  +----------------+
  1140.              |  |    TIMER #6    |
  1141.           ---+  +----------------+
  1142.  
  1143.      Each Mission/Event Timer displays the current time value for that 
  1144. mission or event using one of the following formats (all times are shown as 
  1145. HH:MM:SS, hours:minutes:seconds):
  1146.  
  1147.           143  13:01:47       The event occurred 143 days plus time ago. 
  1148.                               When applied to a mission, this format is 
  1149.                               measured from the time of launch and is known 
  1150.                               as Mission Elapsed Time (MET) and is used for 
  1151.                               all mission event planning.
  1152. Program JPLCLOCK Multimission Control Center Clock                 Page 21
  1153.  
  1154.  
  1155.  
  1156.           -16  01:33:19       The event will occur in 16 days plus time.
  1157.  
  1158.            -0  07:44:51 *     The event will occur in the time shown and a 
  1159.                               flashing asterisk denotes less than 24 hours.
  1160.  
  1161.            -0  00:58:29 **    The event will occur in the time shown and 
  1162.                               two flashing asterisks denote less than 1 
  1163.                               hour remains.
  1164.  
  1165.            -0  00:08:14 ***   The event will occur in the time shown and 
  1166.                               three flashing asterisks denote less than 10 
  1167.                               minutes remain.
  1168.  
  1169.  
  1170.      Pressing F3 from the Main Menu displays the menu for setting the 
  1171. MISSION/EVENT TIMERS and the SELECTED EVENTS:
  1172.  
  1173.                         F1   Set MISSION/EVENT TIMERS
  1174.                         F2   Set SELECTED EVENTS
  1175.  
  1176.                      ENTER   Return to Main Menu
  1177.  
  1178. Press the Function Key for the desired selection or press ENTER to return 
  1179. to the Main Menu.
  1180.  
  1181. Set MISSION/EVENT TIMERS
  1182. ------------------------
  1183.  
  1184.      Using F1, each Mission/Event Timer may be set to any desired time and 
  1185. date in the past or future over a range of approximately minus 27 years (-
  1186. 9,999 days before the event) to approximately plus 274 years (99,999 days 
  1187. after the event) referenced to the current time. Given the time scale of 
  1188. interplanetary missions such as Voyager 1 and 2 or Pioneer 11, these time 
  1189. ranges are reasonable and necessary even though it may seem like "overkill" 
  1190. for a 5-day Space Shuttle mission. The Mission Timer Window background 
  1191. color (for color monitors) is RED if the event has not yet occurred and 
  1192. GREEN if the event has occurred. The color switch occurs when the Mission 
  1193. Timer reaches 0 days and 00:00:00 (hours:minutes:seconds).
  1194.      As a special feature to call attention to events about to occur, a 
  1195. single asterisk ("*") appears to the right of the countdown time when the 
  1196. event is less than 24 hours from occurrence; this changes to two asterisks 
  1197. at T minus one hour and to three asterisks at T minus ten minutes. The 
  1198. asterisks are removed once the scheduled event time occurs.
  1199.      When JPLCLOCK is operated in the NORMAL mode, Mission Timers #1 
  1200. through #6 are displayed continuously; the remaining 54 timers are neither 
  1201. checked nor displayed. However, when JPLCLOCK is operated in the PAGE mode, 
  1202. all 60 Mission Timers are checked and are displayed if a valid time and 
  1203. date has been entered. The Mission Timers are divided into ten pages of six 
  1204. timers each. The pages are numbered 0 through 9; Mission Timers #1 through 
  1205. #6 appear on Page 0, Mission Timers #7 through #12 appear on Page 1, and so 
  1206. forth. If any one of the timers in a given page is valid, that page will be 
  1207. displayed; if no timers in a given page are valid, that page will be 
  1208. skipped. Each page is displayed for 30 seconds and then the program cycles 
  1209. to the next valid page. With active Mission Timers in each of the ten 
  1210. Program JPLCLOCK Multimission Control Center Clock                 Page 22
  1211.  
  1212.  
  1213. pages, it can require up to 5 minutes to complete a full cycle through the 
  1214. timers.
  1215.      When the PAGE mode is active and JPLCLOCK is cycling through all 
  1216. active Mission Timers, a special "bar meter" is displayed at the top right 
  1217. of the Mission Timers. This is a row of ten special square symbols, one for 
  1218. each of the ten Mission Timer pages, which indicates the status of the 
  1219. page. If there are no active Mission Timers on the page, the symbol is 
  1220. GRAY. If one or more Mission Timers on the page is in the countdown mode 
  1221. (the event has not yet occurred), the symbol is RED. If all active Mission 
  1222. Timers on the page are in the countup or Mission Elapsed Time mode, the 
  1223. symbol is GREEN. The current active page is flashing.
  1224.      With up to 60 Mission Timers active in the PAGE mode, it might be easy 
  1225. to overlook an event which is scheduled to occur in the near future. The 
  1226. flashing asterisks described above may help to avoid this situation but 
  1227. JPLCLOCK solves the problem by "freezing" the display on a page if any 
  1228. Mission Timer on that page will reach Time Zero within the next hour. The 
  1229. freeze remains in effect until all timers on that page are either more than 
  1230. one hour before Time Zero or have passed Time Zero by more than one hour. 
  1231. When the freeze is removed, normal cycling is resumed and the program 
  1232. checks for other potential freeze opportunities on each page as it is 
  1233. displayed.
  1234.  
  1235.  
  1236.                               IMPORTANT NOTE
  1237.                               --------------
  1238.  
  1239.           If two Mission Timers are on different pages and are 
  1240.           scheduled to reach Time Zero at approximately the same 
  1241.           time (within two hours), the first timer encountered 
  1242.           will enable the freeze for its page and the second 
  1243.           timer will not be checked! Some care must therefore be 
  1244.           used in selecting events for each page in order to 
  1245.           avoid this type of "freeze conflict".
  1246.  
  1247.      Not all Mission Timers on a particular page must be programmed. If the 
  1248. Event/Mission Name is blank, that Mission Timer will not be displayed and 
  1249. its position on the display screen will be blank. The user may therefore 
  1250. arrange both which page(s) will be displayed as well as what position(s) 
  1251. is(are) used to display the active timers on a given page. As noted above, 
  1252. if ALL Mission Timers on a particular page are blank, that page will be 
  1253. skipped.
  1254.      Function Key F3 provides the capabilities to enter, erase, or correct 
  1255. the Mission Timers. The first time F3 is used, Page 0 and the first six 
  1256. Mission Timers will be displayed; subsequent uses of F3 may start on a 
  1257. different page. The Page Number is shown along with the data for the 
  1258. individual Mission Timers on that page.
  1259.  
  1260. Program JPLCLOCK Multimission Control Center Clock                 Page 23
  1261.  
  1262.  
  1263.          #  Event/Mission Name      Time(UT)  Date (MDY)  Julian Date
  1264. PAGE     ---------------------------------------------------------------
  1265.          1  Magellan                15:00:00  10/18/1989  2447818.125000
  1266. +---+    2  Ulysses                 11:47:15  10/06/1990  2448170.991146
  1267. |   |    3  Galileo                 13:00:00  10/06/1989  2447806.041667
  1268. |   |    4  Hubble Space Telescope  12:33:52  05/07/1990  2448019.023519
  1269. |   |    5  Gamma Ray Observatory   15:22:45  04/05/1991  2448352.140799
  1270. +---+    6  ROSAT Observatory       21:47:59  06/01/1990  2448044.408322
  1271.          (Home, PgUp, PgDn, ENTER to return to Main Menu)
  1272.          Enter EVENT # to change (1-60):
  1273.  
  1274. NOTE: The dates and times for Magellan, Ulysses, and Galileo shown above 
  1275. are dummy values entered for testing purposes. Subsequent releases of the 
  1276. program will include the actual values.
  1277.  
  1278.      The reminder enclosed in parentheses indicates the special keys that 
  1279. are active at this prompt:
  1280.  
  1281.           Home      Display PAGE 0
  1282.           PgUp      Go to NEXT PAGE
  1283.           PgDn      Go to PRIOR PAGE
  1284.           ENTER     Return to Main Menu
  1285.  
  1286. Use PgUp or PgDn to review each of the ten Mission Timer pages or type the 
  1287. number of the desired Mission Timer followed by ENTER to edit that Mission 
  1288. Timer. When a Mission Timer has been selected, a flashing diamond will 
  1289. appear to the left of the Mission Timer number in the display and you will 
  1290. be asked to enter a new MISSION NAME. For the following example, Mission 
  1291. Timer #7 was desired and "7" was typed:
  1292.  
  1293.          #  Event/Mission Name      Time(UT)  Date (MDY)  Julian Date   
  1294. PAGE     ---------------------------------------------------------------
  1295.        * 7  Voyager 1               03:59:02  10/16/1977  2443432.666000
  1296.  -+      8  Voyager 2               19:59:31  08/01/1977  2443357.333000
  1297.   |      9                                                              
  1298.   |      10                                                             
  1299.   |      11                                                             
  1300. --+--    12                                                             
  1301.          (TAB to SKIP, #nn to COPY, ESC to CANCEL, ENTER to ERASE #7 data)
  1302.          Enter #7 EVENT/MISSION NAME:                                   
  1303.  
  1304.      The asterisk shown above will actually be displayed as a flashing 
  1305. diamond to indicate the selected Mission Timer. The reminder enclosed in 
  1306. parentheses indicates the special keys that are active at this prompt:
  1307.  
  1308.           TAB       SKIP the name, leaving it unchanged, and continue.
  1309.           ESC       CANCEL making changes to this Mission Timer
  1310.           ENTER     ERASE all data for this Mission Timer
  1311.  
  1312.      In some cases, you may wish to copy an event from one Mission Timer to 
  1313. another. If the event is simply being moved, you would then go back and 
  1314. erase the original entry; otherwise, the event will appear in multiple 
  1315. Mission Timers (which might be desired for certain important events). The 
  1316. "#nn" format may be used for this purpose by substituting the SOURCE 
  1317. MISSION TIMER NUMBER for "nn". Thus, after selecting the DESTINATION 
  1318. Program JPLCLOCK Multimission Control Center Clock                 Page 24
  1319.  
  1320.  
  1321. MISSION TIMER NUMBER in the previous step, you would enter "C13" to copy 
  1322. all data from Mission Timer #13 to the selected Mission Timer.
  1323.      In other cases, you may wish to prepare a group of related Mission 
  1324. Timers relative to a single time. A sequence of operations following launch 
  1325. or satellite deploy are examples of this situation. To do this, first 
  1326. select the "base time" event and enter its information into a selected 
  1327. Mission Timer. Next, select each successive Mission Timer whose time is 
  1328. relative to the "base time" and use one of the following formats:
  1329.  
  1330.           #nn+ddd/hh:mm:ss
  1331.           #nn+hh:mm:ss
  1332.           #nn-ddd/hh:mm:ss
  1333.           #nn-hh:mm:ss
  1334.  
  1335. where:
  1336.  
  1337.           #    Specifies the COPY syntax
  1338.           nn   SOURCE MISSION TIMER NUMBER, 1 to 60
  1339.           +    Specifies ADD to "base time"
  1340.           -    Specifies SUBTRACT from "base time"
  1341.           ddd  The number of DAYS to add/subtract to "base time"
  1342.           /    Separates DAYS from TIME
  1343.           hh   The number of HOURS to add/subtract to "base time"
  1344.           mm   The number of MINUTES to add/subtract to "base time"
  1345.           ss   The number of SECONDS to add/subtract to "base time"
  1346.           :    Separates hours:minutes and minutes:seconds
  1347.  
  1348. Note that the days portion of the command, "ddd/", may be omitted if the 
  1349. value is zero; omitting the days is equivalent to a days portion of "000/". 
  1350. The number of digits shown for each portion of the command may not be 
  1351. exceeded, but leading zeroes may be omitted. Times may differ by as little 
  1352. as one second. (In fact, they may be identical if you wish.)
  1353.      As an example of relative Mission Timer programming, suppose that the 
  1354. "base time" for a sequence of events is on 7/11/1991 at 13:44:00 UTC and 
  1355. that a series of subsequent events will occur at this "base time" plus 37 
  1356. seconds, 1 minute and 30 seconds, and 3 hours and 7 minutes. The following 
  1357. commands will set up this sequence of Mission Timers:
  1358.  
  1359.           25             Event Timer Number
  1360.           Base Event     Event Name
  1361.           7/11/91        Event Date
  1362.           13:44          Event Time
  1363.  
  1364.           26             First Subsequent Timer Number
  1365.           #25+00:00:37   Relative time to Mission Timer 25
  1366.  
  1367.           27             Second Subsequent Timer Number
  1368.           #25+00:01:30   Relative time to Mission Timer 25
  1369.  
  1370.           28             Third Subsequent Timer Number
  1371.           #25+03:00:07   Relative time to Mission Timer 25
  1372.  
  1373. After these commands have been entered, Mission Timers 25 through 28 will 
  1374. contain the base event and the three subsequent events. Since the "copy" 
  1375. format has been used for the subsequent events, the names will be identical 
  1376. Program JPLCLOCK Multimission Control Center Clock                 Page 25
  1377.  
  1378.  
  1379. in all four Mission Timers. You may then edit Mission Timers 26 through 28 
  1380. by selecting them in turn, entering a new event name, then pressing TAB in 
  1381. place of a date entry to leave that information unchanged.
  1382.      Future events are sometimes rescheduled. To accommodate this 
  1383. situation, the "#nn" command may be used to copy an event to the same 
  1384. Mission Timer with a positive or negative time adjustment. Select the 
  1385. Mission Timer number you wish to adjust, enter the "#nn" command as 
  1386. described above (including the relative time adjustment) and the change 
  1387. will be made. For example, to advance the time for Mission Timer 44 by one 
  1388. hour and thirty minutes, enter the following commands:
  1389.  
  1390.           44             Timer Number to adjust
  1391.           #44+1:30       Advance the time by 1:30
  1392.  
  1393. This example illustrates a "shortcut": if the seconds are zero, they may be 
  1394. omitted. Similarly, if both minutes and seconds are zero, both may be 
  1395. omitted. The hours could also have been entered with a decimal fraction and 
  1396. the minutes omitted: "#44+1.5" to achieve the same result. The optional 
  1397. days ("#44+3/1:30" to advance the time by 3 days, 1 hour, 30 minutes) could 
  1398. have been used if required.
  1399.      If you wish to enter new data for this mission timer, type the new 
  1400. name for this Mission Timer followed by ENTER. You will then be asked to 
  1401. enter the new DATE for this timer:
  1402.  
  1403.           (ESC to CANCEL)                
  1404.           Enter new DATE (MM/DD/YYYY or JD/MJD):
  1405.  
  1406. Press ESC to CANCEL making changes to this Mission Timer or type the new 
  1407. DATE followed by ENTER. Dates are normally entered using "MM/DD/YYYY" 
  1408. format where "MM" is the MONTH (month number), "DD" is the DAY, and "YYYY" 
  1409. is the YEAR. JPLCLOCK will also accept a two-digit year and add 1900 to the 
  1410. value entered; "1991" and "91" will both be accepted as "1991". JPLCLOCK 
  1411. will also accept several "JD" (Julian Date) formats by prefixing the date 
  1412. entry with one of the following:
  1413.  
  1414.        Prefix        Julian Date   Format Name               Starting Date
  1415.        -------------------------------------------------------------------
  1416.            JD     2448424.375000   Standard Julian Date   (-4713 JAN  1.5)
  1417.           MJD       48423.875000   Modified Julian Date    (1858 NOV 17.0)
  1418.           DJD       33404.375000   Dublin Julian Date      (1900 JAN  0.5)
  1419.           TJD        8423.875000   Truncated Julian Date   (1968 MAY 23.0)
  1420.  
  1421. All of the Julian Date formats in the example are equal to June 16, 1991, 
  1422. at 14:00 PDT. "JD" is the standard format used by astronomers and most 
  1423. scientists. The other formats have been developed to reduce the number of 
  1424. digits required to uniquely identify a specific date but have more 
  1425. restricted range if negative numbers or large numbers are to be avoided. 
  1426. NASA, for example, frequently uses the "TJD" format.
  1427.  
  1428. NOTE: When one of the Julian Date formats is used, the time is implicit and 
  1429. the "New TIME" prompt will be skipped. Thus, an entry of "JD2448424.375" or 
  1430. "TJD8423.875" would yield the same time and date as "6/16/91" (for DATE) 
  1431. and "14:00P" (for TIME).
  1432.  
  1433.      After the new date has been entered (and provided you did not use one 
  1434. Program JPLCLOCK Multimission Control Center Clock                 Page 26
  1435.  
  1436.  
  1437. of the Julian Data formats), you will be prompted for the new TIME:
  1438.  
  1439.           (ESC to CANCEL)
  1440.           Enter new TIME (UTC or Zone):
  1441.  
  1442. Type the desired new time using the "HH:MM:SS" format followed by ENTER. 
  1443. JPLCLOCK is very flexible as to the time format. JPLCLOCK requires the 24-
  1444. hour format. Decimal fractions for the last value entered are accepted, 
  1445. leading zeroes are NOT required, the separator may be either the colon 
  1446. (":") or the comma (","), and the entry may omit values which are zero. 
  1447. Each of the following examples will be accepted as 14:15 (2:15 PM):
  1448.  
  1449.           14:15:00
  1450.           14,15
  1451.           14.25
  1452.  
  1453. JPLCLOCK assumes that the time entered is Coordinated Universal Time (UTC) 
  1454. unless a suffix is added to indicate otherwise. The following time zone 
  1455. suffixes are supported by JPLCLOCK:
  1456.  
  1457.           U    UTC       Universal Coordinated Time
  1458.           A    AST/ADT   Atlantic Time Zone
  1459.           E    EST/EDT   Eastern Time Zone
  1460.           C    CST/CDT   Central Time Zone
  1461.           M    MST/MDT   Mountain Time Zone
  1462.           P    PST/PDT   Pacific Time Zone
  1463.           Y    YST/YDT   Yukon Time Zone (sometimes "Alaska")
  1464.           H    HST/HDT   Hawaiian Time Zone
  1465.  
  1466.      Except for UTC, JPLCLOCK will automatically adjust the entered time 
  1467. for the appropriate time zone AND for daylight savings time (if in effect). 
  1468. Thus, an entry of "14:00P" will be interpreted as Pacific Standard Time 
  1469. (PST) if the Daylight Flag is OFF, and as Pacific Daylight Time (PDT) if 
  1470. the Daylight Flag is ON. If no suffix is included or if the "U" suffix is 
  1471. added, no adjustment for the Daylight Flag will be made and the time entry 
  1472. will be accepted as UTC. By using the appropriate time zone suffix, times 
  1473. may thus be entered directly in local time for each time zone in the United 
  1474. States, Alaska, and Hawaii without making any conversions (or mistakes!). 
  1475. JPLCLOCK makes the required conversions to the time (and date, if 
  1476. necessary) and displays the resulting Mission Timer values in UTC.
  1477. Program JPLCLOCK Multimission Control Center Clock                 Page 27
  1478.  
  1479.  
  1480. Set SELECTED EVENTS
  1481. -------------------
  1482.  
  1483.      Press F2 to set the SELECTED EVENTS. The program will display the 
  1484. currently selected SELECTED EVENTS, if any, and remind you that the 
  1485. SELECTED EVENTS are displayed ONLY when the SMALL Main Clock window is 
  1486. active. To make the SMALL Main Clock window active, press ALT-F6 when the 
  1487. Main Clock window is on the screen.
  1488.  
  1489.             SELECTED EVENTS are active with SMALL Main Window ONLY!
  1490.  
  1491.                     #    MT#    Mission/Event Name
  1492.                     ----------------------------------------
  1493.                     1    11     Hubble Space Telescope
  1494.                     2    17     Gamma Ray Observatory
  1495.                     3    23     Voyager 1
  1496.                     4    24     Voyager 2
  1497.  
  1498.               (ENTER to CLEAR, TAB to SKIP, ESC to CANCEL)
  1499.               Enter MISSION/EVENT TIMER # for Selected Event #1:
  1500.  
  1501. In the sample display above, the column marked "#" lists the four SELECTED 
  1502. EVENT timers in order; tThe column marked "MT#" lists the Mission/Event 
  1503. Timer which is associated with the corresponding SELECTED EVENT; and, the 
  1504. column marked "Mission/Event Name" lists the name of the selected 
  1505. Mission/Event Timer.
  1506.      The information for each SELECTED EVENT is requested in turn. The 
  1507. first prompt asks for Selected Event #1. As noted, press ENTER to clear 
  1508. that event, press TAB to skip to the next event, or press ESC to cancel and 
  1509. return to the Main Menu.
  1510.      The only information that can be entered here is the Mission/Event 
  1511. Timer number which you wish to be associated with each SELECTED EVENT. The 
  1512. actual data, the event name, date, and time, must already have been entered 
  1513. into the Mission/Event Timer (F3+F1 from the Main Menu). Note also that the 
  1514. while the full Mission/Event Name is displayed on the menu as shown above, 
  1515. the actual window on the screen will truncate the name to a maximum of 19 
  1516. characters; this is because the SELECTED EVENT windows are somewhat 
  1517. narrower than the main Mission/Event Timer windows. If you wish to edit the 
  1518. name so that it will fit correctly in the SELECTED EVENT windows, you must 
  1519. edit the Mission/Event Timer entry using F3+F1 from the Main Menu (or just 
  1520. F1 from the event menu).
  1521. Program JPLCLOCK Multimission Control Center Clock                 Page 28
  1522.  
  1523.  
  1524. F4   Set DAYLIGHT and Defaults
  1525. ------------------------------
  1526.  
  1527.      Function Key F4 allows you to switch the system from local STANDARD 
  1528. time to local DAYLIGHT time and set a number of program defaults. Pressing 
  1529. F4 from the Main Menu displays the following menu:
  1530.  
  1531.  
  1532.          Enter selection:
  1533.                            F1   Switch STANDARD/DAYLIGHT Time
  1534.                            F2   Set LOCAL NAME and TIME ZONE
  1535.                            F3   Restore Program DEFAULT DATA
  1536.                            F4   Set PAGE and TEXT Mode Delays,  15  30
  1537.                           ESC   Return to Main Menu
  1538.                         ENTER   Resume Program JPLCLOCK
  1539.  
  1540.                                 Enter selection:
  1541.  
  1542.      Pressing ESC will return you to the Main Menu.
  1543.      Pressing ENTER will resume operation of program JPLCLOCK.
  1544.      Pressing F1 will switch the Daylight Flag between Standard time and 
  1545. Daylight time. NOTE: This function does NOT change your computer's clock; 
  1546. you must set the correct local time BEFORE using this function!
  1547.      Pressing F2 will allow you to enter a new name for your location and 
  1548. to set its standard UTC Offset (in hours) and Daylight Flag.
  1549.      Pressing F3 will restore the "hard-coded" program default data for the 
  1550. Local Name, Location Clocks and Mission Timers.
  1551.      Pressing F4 will prompt you to enter new values for the PAGE delay and 
  1552. the TEXT delay. The current values are shown at the right. The following 
  1553. information will be displayed and you will be asked for the PAGE Delay:
  1554.  
  1555.           PAGE Delay sets the time to display each page of Mission
  1556.           Timers. TEXT delay set the time to display each text page.
  1557.  
  1558.           PAGE Delay must be between 5 and 900 seconds.
  1559.           TEXT Delay must be between 5 and 900 seconds AND an even
  1560.           multiple of PAGE Delay. The times are adjusted if necessary.
  1561.  
  1562.           Enter PAGE Delay [15] (seconds):
  1563.  
  1564. The current PAGE Delay is shown in square brackets. Enter the desired new 
  1565. value for the PAGE Delay in seconds or press ENTER to leave the present 
  1566. value unchanged. You will then be asked for the TEXT Delay:
  1567.  
  1568.           Enter TEXT Delay [30] (seconds):
  1569.  
  1570. The current TEXT Delay is shown in square brackets. Enter the desired new 
  1571. value for the TEXT Delay in seconds or press ENTER to leave the present 
  1572. value unchanged.
  1573.      Note the minimum and maximum values allowed for these delays, 5 and 
  1574. 900 seconds respectively. Note also that the TEXT Delay must be an even 
  1575. multiple of the PAGE Delay (for internal programming reasons). If this is 
  1576. not the case, TEXT Delay will be automatically adjusted accordingly. I 
  1577. recommend the values shown in the examples above as the minimum values for 
  1578. JPLCLOCK. Smaller values allow insufficient time for reading.
  1579. Program JPLCLOCK Multimission Control Center Clock                 Page 29
  1580.  
  1581.  
  1582. F5   Read or Save INI Files
  1583. ---------------------------
  1584.  
  1585.      JPLCLOCK reads the file JPLCLOCK.INI each time it is started, and 
  1586. writes a new JPLCLOCK.INI file each time the program is halted. This INI 
  1587. file contains all the information about the local installation, the 
  1588. Location Clocks, and the Mission Timers. For installations where only the 
  1589. first six Mission Timers are used, this information will change only 
  1590. infrequently and additional INI files will probably not be required.
  1591.      Users may find it convenient to re-read the normal INI file, 
  1592. JPLCLOCK.INI, if they have incorrectly changed information and wish to 
  1593. restore the original information. (NOTE: Exiting program JPLCLOCK in this 
  1594. situation will cause the incorrect information to be written to file 
  1595. JPLCLOCK.INI and the original data in that file will be permanently lost!) 
  1596. As a protection against this sort of problem, it is recommended that all 
  1597. users create a standard INI file, named STANDARD.INI for example, that 
  1598. represents the normal program configuration. Function Key F1 may then be 
  1599. used from this menu to reload that normal configuration at any time.
  1600.      However, installations using JPLCLOCK in the PAGE mode may find that 
  1601. advance preparation of INI files (using another computer running JPLCLOCK) 
  1602. is very helpful in preparing for upcoming events on multiple missions. In 
  1603. order to facilitate this process, JPLCLOCK can both read and write INI 
  1604. files. This takes advantage of JPLCLOCK's internal editing capabilities 
  1605. (using Function Key F3 from the Main Menu) and may avoid errors due to 
  1606. manual editing and time/date conversions. A new set of Mission Timers can 
  1607. be prepared on the "offline computer", tested, and written to an INI file 
  1608. for use on the "online computer". Files may be exchanged either via disk or 
  1609. via local area networks. Once the new INI file has been loaded onto the 
  1610. "online computer", JPLCLOCK may be paused, the new INI file read, and 
  1611. program operation resumed. Performed in this manner, the entire updating 
  1612. process will take the "online computer" offline for a few seconds. Any 
  1613. number of INI files may be prepared in this fashion, the only requirement 
  1614. being that they have unique names.
  1615.      INI files MUST have the file type ".INI". The filename may be any 
  1616. legal file name EXCEPT "JPLCLOCK.INI". Manual editing of INI files is NOT 
  1617. recommended; however, if this is done be certain to use a simple ASCII 
  1618. editor or an editor which has a "non-document" mode. Although the format of 
  1619. the INI file uses a simple comma-delimited format, an error in the file 
  1620. structure may cause the program to operate incorrectly or to crash (halt 
  1621. with an error message). If all else fails, delete the file JPLCLOCK.INI and 
  1622. restart the program; JPLCLOCK will then use its internal default data and 
  1623. construct a new INI file.
  1624.      Pressing Function Key F5 from the Main Menu will display the following 
  1625. menu:
  1626.  
  1627.                            F1   Read external INI File
  1628.                            F2   Save external INI File
  1629.                           ESC   Return to Main Menu
  1630.                         ENTER   Resume program JPLCLOCK
  1631.  
  1632.                                 Enter selection:
  1633.  
  1634. Press F1 to read an INI file or F2 to write an INI file. All files are 
  1635. assumed to be in the current drive and directory. For file read operations, 
  1636. the file must exist. For file write operations, if the file does not exist 
  1637. Program JPLCLOCK Multimission Control Center Clock                 Page 30
  1638.  
  1639.  
  1640. it will be created and if the file does exist it will be overwritten. If 
  1641. either F1 or F2 is pressed, the following prompt will be displayed:
  1642.  
  1643.          INI files contain the setup and mission/clock data for JPLCLOCK. 
  1644.          Enter the name of the INI file which you wish to read or write.  
  1645.          Do NOT include a filetype; the program automatically adds '.INI'.
  1646.                                                                           
  1647.          Enter filename (without .INI):                                   
  1648.  
  1649. Press ESC to CANCEL the file read or write. Press ENTER to use the default 
  1650. file name JPLCLOCK.INI. Otherwise, type the filename WITHOUT the ".INI" 
  1651. filetype followed by ENTER. JPLCLOCK will automatically append ".INI" to 
  1652. the filename and then read or write the file and return to this files menu.
  1653.  
  1654.  
  1655. INI Files from Other Locations
  1656. ------------------------------
  1657.  
  1658.      Except when JPLCLOCK is first started, the information specific to 
  1659. your location (Location Name, UTC Offset, Daylight Flag, etc.) is NOT 
  1660. processed when you read an INI file using F5. Therefore, if you receive an 
  1661. INI file from elsewhere, you should rename it to a convenient name (which 
  1662. might remind you of the source of the data, for example) and then read it 
  1663. into JPLCLOCK using F5. Since all of the remaining information in the INI 
  1664. file is recorded using UTC, JPLCLOCK will be able to make the necessary 
  1665. time conversions for display in your time zone.
  1666.      If you wish to use missions or events from a received INI file, you 
  1667. may read it in using F5, then view (and record or capture from the screen) 
  1668. the information in each Mission Timer Page. Having recorded the 
  1669. information, you may then re-read your own JPLCLOCK.INI file (press ENTER 
  1670. when asked for the INI filename) and enter the mission or event data you 
  1671. recorded using F3 as usual. Note that the times and dates shown on each 
  1672. Mission Timer page are always Coordinated Universal Time (UTC), not your 
  1673. local time, so do not include a time zone suffix when entering the time 
  1674. recorded from another INI file!
  1675.  
  1676.  
  1677. Editing INI Files
  1678. -----------------
  1679.  
  1680.      Although it is not recommended for the novice computer user, the 
  1681. Mission Timer information contained in an INI file may be edited or copied 
  1682. from one file to another. Before editing INI files, make a backup copy of 
  1683. your JPLCLOCK.INI file using another name such as "BACKUP.INI". This will 
  1684. preserve your JPLCLOCK.INI file in the event you make a mistake. Use only a 
  1685. simple ASCII editor, or use a word processor program in the "non-document" 
  1686. or "ASCII" mode!
  1687.      The last 60 lines of the INI file contain the information for Mission 
  1688. Timers #1 through #60. A typical line appears as:
  1689.  
  1690.           "Mission Name",2448135.30419
  1691.  
  1692. The words within the quotation marks ("Mission Name") are the name of the 
  1693. mission or event, followed by a comma, and the number is the Julian Date 
  1694. for the mission or event time. An unused Mission Timer is shown as:
  1695. Program JPLCLOCK Multimission Control Center Clock                 Page 31
  1696.  
  1697.  
  1698.  
  1699.           "",0
  1700.  
  1701. This is known as the "comma delimited format", used by BASIC and other 
  1702. software for file data. No error checking is performed, so observe the file 
  1703. structure and format exactly! Errors in the INI file structure, especially 
  1704. in the initial several lines, can cause JPLCLOCK to crash (exit with an 
  1705. error message); if all else fails, erase the bad file and start over with a 
  1706. fresh INI file copied from the file JPLCLOCK.INI as written by JPLCLOCK.
  1707.      By editing an INI file, events from other locations or sources may be 
  1708. "spliced" into your own INI file. For example, if you receive an INI file 
  1709. which includes a number of events of interest, use your editor to snip out 
  1710. the Mission Timer lines you want and then replace a corresponding number of 
  1711. lines in a copy of your JPLCLOCK.INI file with the new lines. I recommend 
  1712. placing the new lines at the END of the file; you may use F3 from the Main 
  1713. Menu to copy them to the desired Mission Timer once you read in the edited 
  1714. file. Do NOT edit file JPLCLOCK.INI; always make a copy with a new name and 
  1715. read it using F5. This will preserve your data in case your make an error!
  1716. Program JPLCLOCK Multimission Control Center Clock                 Page 32
  1717.  
  1718.  
  1719. F6   Self-Calibration using TIMESET
  1720. -----------------------------------
  1721.  
  1722.      Function Key F6 enables a special self-calibration procedure which 
  1723. causes JPLCLOCK to use program TIMESET to perform a series of calibration 
  1724. measurements over a period of 7 hours. Note that TIMESET must have been 
  1725. correctly configured and tested prior to automatic use. See the procedure 
  1726. for configuring TIMESET in the section F10 TIME SYNCHRONIZATION below and 
  1727. read the TIMESET documentation.
  1728.      When the Self-Calibration procedure is initiated, JPLCLOCK immediately 
  1729. makes a call using TIMESET and resets the drift and offset parameters. The 
  1730. program then makes subsequent calls at 1, 2, and 4 hour intervals (for a 
  1731. total of four calls) to enable calculation of new parameters. When the last 
  1732. call has been completed, a reasonable calibration of the DOS clock should 
  1733. have been calculated.
  1734.      The computer must be allowed to run JPLCLOCK continuously, with the 
  1735. clocks displayed, during the procedure. However, the usual commands are 
  1736. available for use between calls PROVIDED you do not exit to DOS and the 
  1737. clocks are displayed when the time comes to make each call. Of particular 
  1738. interest after the second call (in other words, after more than one hour 
  1739. has elapsed since the procedure was started) is the calculated DOS Clock 
  1740. Drift. With the main clock display on the screen, press ENTER twice to 
  1741. obtain the Main Menu, then press F10+F1 to view the current data:
  1742.  
  1743.                        DOS time:  06:45:26.17      07-05-1991
  1744.                       CMOS time:  06:45:27         07-05-1991
  1745.                   JPLCLOCK time:  06:45:27 PDT   13:45:27 UTC
  1746.                   JPLCLOCK date:    07/05/1991     07/05/1991
  1747.  
  1748.                 JPLCLOCK will start automatically in 88 seconds
  1749.  
  1750.                  Current Julian Date:   2448443.073229
  1751.                  Last Synchronized:     2448442.500926
  1752.                  Time since Last Sync:        0.572303 days
  1753.                  Current Clock Offset:        0.00     seconds
  1754.                  Current DOS Drift Rate:     -1.512899 seconds/day
  1755.                  Current Total Adjust:       -0.87     seconds
  1756.  
  1757.                  Press ESC for Sync Menu, ENTER to ADJUST data:
  1758.  
  1759. In the example above, about half a day has elapsed since the last 
  1760. synchronization was performed. As a result of that measurement, JPLCLOCK 
  1761. has calculated that the drift rate of the DOS clock is -1.512889 seconds 
  1762. per day and that the current time must be adjusted by SUBTRACTING -0.87 
  1763. seconds from the DOS clock. Above these data are four time displays showing 
  1764. the present DOS clock (the one being calibrated), the CMOS clock (the 
  1765. computer's hardware clock), and the JPLCLOCK time and date both for the 
  1766. local time zone and for UTC. The JPLCLOCK time is the time displayed in the 
  1767. Main Clock window and reflects the current calculated adjustment from the 
  1768. DOS time.
  1769.      When using self-calibration, ALWAYS press ESC after viewing these data 
  1770. to return to normal operation. If you press ENTER by mistake, press the TAB 
  1771. key to leave all items unchanged.
  1772.      JPLCLOCK generates a "temporary" automatic synchronization schedule 
  1773. during self-calibration, saving the prior schedule (if any). Thus, the 
  1774. Program JPLCLOCK Multimission Control Center Clock                 Page 33
  1775.  
  1776.  
  1777. program will perform the procedure over 7 hours and then revert to the 
  1778. original automatic schedule (if automatic synchronization is ENABLED) or 
  1779. turn off automatic synchronization (if automatic synchronization is 
  1780. DISABLED). You may verify the current status of the automatic 
  1781. synchronization from the Main Menu by pressing F10+F3; this will show the 
  1782. schedule now in effect; note that the times shown in the schedule are UTC.
  1783.  
  1784.                    F1   Execute TIMESET (Manual)
  1785.                    F3   Set Automatic Synchronization: ENABLED
  1786.                           NEXT TIME = 00:55:00 UTC
  1787.                           START     = 08:55:00 UTC
  1788.                           INTERVAL  = 04:00:00
  1789.                   ESC   Return to Sync Menu
  1790.                 ENTER   Resume Program JPLCLOCK
  1791.  
  1792.                         Enter selection:
  1793.  
  1794. In the example shown, the automatic synchronization schedule has been set 
  1795. to start at 00:55:00 UTC and repeat every four hours. Comparing this 
  1796. schedule against the current time, JPLCLOCK will next perform the 
  1797. synchronization at 08:55:00 UTC.
  1798. Program JPLCLOCK Multimission Control Center Clock                 Page 34
  1799.  
  1800.  
  1801. F7   Switch TEXT Mode
  1802. ---------------------
  1803.  
  1804.      Function Key F7 permits you to enable or disable the TEXT mode 
  1805. provided the text file JPLCLOCK.MSG is present on the current drive and 
  1806. directory when the program is started. This command is equivalent to the 
  1807. "/TEXT" command line option. If the file JPLCLOCK.MSG has been added while 
  1808. using the DOS SHELL (F9), the text will NOT be available since the file is 
  1809. read ONLY when JPLCLOCK is started from DOS. Quit program JPLCLOCK and 
  1810. restart the program if you wish to add or edit JPLCLOCK.MSG.
  1811.  
  1812.  
  1813. F8   Switch PAGE Mode
  1814. ---------------------
  1815.  
  1816.      Function Key F8 permits you to enable or disable the PAGE mode. This 
  1817. command is equivalent to the "/PAGE" command line option. Disabling the 
  1818. PAGE mode will also disable the TEXT mode if it is currently enabled.
  1819.  
  1820.  
  1821. F9   DOS Shell (DOS 3.3+ ONLY)
  1822. ------------------------------
  1823.  
  1824.      Function Key F9 invokes the DOS SHELL, loading a second copy of 
  1825. COMMAND.COM and displaying the usual DOS prompt. Most DOS commands and 
  1826. programs are now available. To return to JPLCLOCK, type the following at 
  1827. the DOS prompt (followed by ENTER):
  1828.  
  1829.           EXIT
  1830.  
  1831.      Note that using the SHELL with versions of DOS prior to Version 3.3 
  1832. may yield unpredictable results. Because program JPLCLOCK remains in memory 
  1833. and a second copy of COMMAND.COM is also loaded into memory, the memory 
  1834. available to execute programs under the SHELL is considerably reduced. Some 
  1835. programs may fail to execute due to insufficient memory or you may receive 
  1836. an "Out of Memory" message. If this happens, check to see that all TSR 
  1837. (Terminate and Stay Resident) programs that are not required have been 
  1838. disabled. If this does not solve the problem, the program in question 
  1839. cannot be executed with the shell.
  1840.      Except for the potential memory problem, the SHELL operates exactly 
  1841. the same as normal DOS. Although JPLCLOCK is resident in memory, it is not 
  1842. active. The timer which causes execution of the program to automatically 
  1843. resume after some seconds is therefore also NOT active and the computer 
  1844. will remain in the SHELL until you type "EXIT" followed by ENTER.
  1845. Program JPLCLOCK Multimission Control Center Clock                 Page 35
  1846.  
  1847.  
  1848. TIME SYNCHRONIZATION
  1849. --------------------
  1850.  
  1851.      As discussed at length elsewhere, the hardware and software clocks on 
  1852. the typical personal computer do not keep accurate time. In order to use 
  1853. JPLCLOCK in a critical installation such as the JPL Multimission Computer 
  1854. Control Center, additional steps must be taken to ensure the accuracy of 
  1855. the JPLCLOCK display.
  1856.  
  1857.      NOTE: Before proceeding with this section, please read the section DOS 
  1858. CLOCK CALIBRATION below. An understanding of that section and its 
  1859. procedures is essential before time synchronization is attempted.
  1860.  
  1861.      Time synchronization may be accomplished either manually (using the 
  1862. DOS TIME command outside program JPLCLOCK) or by using the program TIMESET. 
  1863. TIMESET, in turn, may be invoked either on demand or its use may be 
  1864. scheduled to occur at any desired interval. The balance of this section is 
  1865. concerned with the use of program TIMESET. TIMESET is copyrighted software 
  1866. distributed separately, and it must be registered before regular use. See 
  1867. the TIMESET documentation for details. (Additional information on TIMESET 
  1868. is also given in the section DOS CLOCK CALIBRATION, below.)
  1869.  
  1870.  
  1871. Configuring Program TIMESET
  1872. ---------------------------
  1873.  
  1874.      Before program TIMESET may be used with JPLCLOCK it must be configured 
  1875. for your computer system. In addition to the "regular" configuration 
  1876. described in the TIMESET documentation, an additional process is required 
  1877. here. In order for TIMESET to operate successfully with JPLCLOCK, two 
  1878. special version of the program must be prepared: one for your local 
  1879. STANDARD time and one for your local DAYLIGHT time. If you have not already 
  1880. done so, configure TIMESET by entering the following command at the DOS 
  1881. prompt:
  1882.  
  1883.           TIMESET /C
  1884.  
  1885.      The following configuration screen will be displayed for your 
  1886. approval. The information shown here is that used on one of my test 
  1887. computers.
  1888.  
  1889.              Outside phone: NULL
  1890.          Naval Observatory: 12026530351
  1891.       Inst. Stds. Technol.: 13034944774
  1892.  
  1893. ===>             Time zone: PACIFIC
  1894. ===>           Time season: STANDARD
  1895.  
  1896.                Serial port: COM1
  1897.             Dialing method: TONE
  1898.          Dialing baud rate: 2400
  1899.           Lock modem speed: NO
  1900.  
  1901.  
  1902.            User's commands: L2X4S7=45&C1&D2
  1903. Program JPLCLOCK Multimission Control Center Clock                 Page 36
  1904.  
  1905.  
  1906.  
  1907.             Computer clock: DOS CLOCK-CALENDAR
  1908.  
  1909. ===>   Immediate/countdown: IMMEDIATE
  1910. ===>      Manual/automatic: AUTO NIST
  1911.                 Video type: COLOR
  1912.  
  1913. You will not need to change some of the information shown here. Verify that 
  1914. the modem information is correct. You WILL need to set your TIME ZONE to 
  1915. the correct zone and to set the TIME SEASON to STANDARD. Make sure the 
  1916. IMMEDIATE/COUNTDOWN is set to IMMEDIATE and that MANUAL/AUTOMATIC is set to 
  1917. AUTO NIST or AUTO USNO (depending upon the time service you wish to use. 
  1918. The four critical items are each marked with an arrow ("===>") in the 
  1919. sample above. Once all data are correct, press F10 to save the configured 
  1920. version.
  1921.      You will now have a program file, TIMESET.COM which represents your 
  1922. basic TIMESET configuration for STANDARD time in your time zone. It may be 
  1923. used at any time by simply entering the following command at the DOS 
  1924. prompt:
  1925.  
  1926.           TIMESET
  1927.  
  1928. Use the DOS COPY command to save a separate STANDARD TIME version of this 
  1929. program for JPLCLOCK's use:
  1930.  
  1931.           COPY/B TIMESET.COM TIMESTD.COM
  1932.  
  1933. Now, repeat the configuration process by entering the command "TIMESET /C" 
  1934. and leave everything the same EXCEPT change the TIME SEASON to DAYLIGHT. 
  1935. Press F10 when you have made the change to save a DAYLIGHT version of 
  1936. TIMESET. Then use the DOS COPY command to save a separate DAYLIGHT TIME 
  1937. version of this program for JPLCLOCK's use:
  1938.  
  1939.           COPY/B TIMESET.COM TIMEDAY.COM
  1940.  
  1941. Use the DOS DIR command to be certain that you now have two specially named 
  1942. versions of TIMESET on disk:
  1943.  
  1944.           TIMESTD.COM
  1945.           TIMEDAY.COM
  1946.  
  1947. Copy these two files to your JPLCLOCK disk and/or directory.
  1948.  
  1949.  
  1950.                               IMPORTANT NOTE
  1951.                               --------------
  1952.  
  1953.           Unfortunately, TIMESET cannot be instructed to select
  1954.           STANDARD TIME or DAYLIGHT TIME from the command line, 
  1955.           only by changing the its configuration. JPLCLOCK 
  1956.           already knows which time season is in effect and uses 
  1957.           these two special versions of TIMESET as appropriate. 
  1958.           If these two files are not present, JPLCLOCK's auto-
  1959.           matic time synchronization functions will NOT execute 
  1960.           correctly!
  1961. Program JPLCLOCK Multimission Control Center Clock                 Page 37
  1962.  
  1963.  
  1964.  
  1965.           CHECK AGAIN TO BE SURE THESE TWO FILES ARE IN YOUR 
  1966.           JPLCLOCK DRIVE AND DIRECTORY:
  1967.  
  1968.                TIMESTD.COM
  1969.                TIMEDAY.COM
  1970.  
  1971.           TEST BOTH PROGRAMS CAREFULLY TO BE CERTAIN THAT EACH 
  1972.           VERSION CALLS THE SELECTED TELEPHONE TIME SERVICE AND 
  1973.           SETS YOUR COMPUTER CLOCK CORRECTLY AND FOR THE SELECTED 
  1974.           TIME SEASON. JPLCLOCK HAS NO WAY OF DETECTING IF YOUR 
  1975.           COMPUTER CLOCKS ARE SET INCORRECTLY!
  1976.  
  1977.      This completes configuration of program TIMESET for use with JPLCLOCK. 
  1978. It might be wise to make backup copies of the two special versions of the 
  1979. program so that they will be readily available if needed.
  1980.  
  1981.  
  1982. Time Synchronization Menu
  1983. -------------------------
  1984.  
  1985.                       F1   VIEW or SET Time Sync Data
  1986.  
  1987.                       F3   TIMESET Time Synchronization
  1988.  
  1989.                      ESC   Return to Main Menu
  1990.                    ENTER   Resume Program JPLCLOCK
  1991.  
  1992.                            Enter selection:
  1993.  
  1994. Select F1 to view the current time synchronization data or to manually 
  1995. execute program TIMESET. Select F3 to enable or disable automatic time 
  1996. synchronization using program TIMESET.
  1997.  
  1998.  
  1999. VIEW or SET Time Sync Data
  2000. --------------------------
  2001.  
  2002.                  Current Julian Date:   2448430.351713
  2003.                  Last Synchronized:     2448428.036412
  2004.                  Time since Last Sync:        2.315301 days
  2005.                  Current Clock Offset:        0.00     seconds
  2006.                  Current DOS Drift Rate:     -3.034839 seconds/day
  2007.                  Current Total Adjust:       -7.03     seconds
  2008.  
  2009.                  Press ESC for Sync Menu, ENTER to ADJUST data:
  2010.  
  2011. Press ESC to return to the Time Synchronization Menu, or press ENTER to 
  2012. adjust the Last Synchronized, Clock Offset, and/or DOS Drift Rate 
  2013. parameters. See the section DOS CLOCK CALIBRATION for additional 
  2014. information on measuring these parameters. During CALIBRATION or after the 
  2015. DOS software clock has been correctly set, do NOT manually adjust these 
  2016. data!
  2017.  
  2018.  
  2019. Program JPLCLOCK Multimission Control Center Clock                 Page 38
  2020.  
  2021.  
  2022. TIMESET Time Synchronization
  2023. ----------------------------
  2024.  
  2025.                    F1   Execute TIMESET (Manual)
  2026.                    F3   Set Automatic Synchronization: ENABLED
  2027.                           NEXT TIME = 20:55:00 UTC
  2028.                           START     = 00:55:00 UTC
  2029.                           INTERVAL  = 04:00:00
  2030.                   ESC   Return to Sync Menu
  2031.                 ENTER   Resume Program JPLCLOCK
  2032.  
  2033.                         Enter selection:
  2034.  
  2035.      Press F1 to immediately execute program TIMESET. JPLCLOCK will select 
  2036. either program TIMESTD or TIMEDAY depending on whether it is set for 
  2037. STANDARD or DAYLIGHT time.
  2038.      Press F3 to enable, disable, or change the automatic time 
  2039. synchronization function. The sample shown above indicates that the 
  2040. automatic function is ENABLED, that it will next occur at 20:55:00 UTC, and 
  2041. that JPLCLOCK will automatically schedule time setting starting at 00:55:00 
  2042. UTC each day and at four hour intervals thereafter. Press ENTER to DISABLE 
  2043. the automatic time synchronization feature, or enter the START time and the 
  2044. TIME INTERVAL when requested.
  2045.      As a general rule and to minimize use of the NIST and USNO telephone 
  2046. time services, the longer the synchronizing interval, the better accuracy 
  2047. is obtained. This is because the DOS clock ticks occur at 55 millisecond 
  2048. intervals and in order to maintain the desired accuracy of plus or minus 
  2049. 250 milliseconds per day or better, we must make this "granularity" small 
  2050. compared to the total time used to make the measurements. Where practical, 
  2051. I recommend a normal interval of at least 8 hours and preferably 12 or 
  2052. more.
  2053. Program JPLCLOCK Multimission Control Center Clock                 Page 39
  2054.  
  2055.  
  2056. DOS CLOCK CALIBRATION
  2057. ---------------------
  2058.  
  2059.      The primary purpose of JPLCLOCK is to display the current time and 
  2060. other related information in the JPL Multimission Computer Control Center. 
  2061. Accuracy and precision in that environment are essential. There is a 
  2062. tendency these days to accept whatever a computer says as the absolute 
  2063. truth without regard for whether or not the information is even 
  2064. "reasonable". For something as basic as time, even an experienced computer 
  2065. user often assumes that it is correct. JPLCLOCK attempts to match reality 
  2066. with that expectation.
  2067.      Given that a computer clock has been set with reasonable accuracy, the 
  2068. computer's time will indeed be sufficient for many applications; if you are 
  2069. using a word processing or spreadsheet program, knowing the time to within 
  2070. a minute or two is probably adequate. For JPLCLOCK, however, this level of 
  2071. accuracy simply will not suffice; when used in the Mission Control Center, 
  2072. the information displayed must be correct to within a second. Unless other 
  2073. steps are taken to set the clock and to maintain its accuracy, this will 
  2074. not be the case. No matter how accurately the clock on a typical personal 
  2075. computer is set, it will only be a matter of hours before the time will 
  2076. have drifted by some seconds. Measured over a number of days, the 
  2077. accumulated errors can easily amount to several minutes.
  2078.      The timekeeping operations of an IBM-compatible computer are actually 
  2079. performed by two separate and independent functions: a clock-calendar 
  2080. integrated circuit and lithium battery combination which maintains the 
  2081. current time and date in hardware; and a section of the MS-DOS or PC-DOS 
  2082. operating system software which maintains the current time and date in 
  2083. software. When computer power is off, the hardware chip continues to 
  2084. operate using its battery; when the computer is started ("booted"), the 
  2085. operating system software reads the hardware clock and sets its internal 
  2086. software clock. Absent special software, the DOS time relies entirely on 
  2087. the software clock until the next time the computer is restarted. 
  2088. Unfortunately, neither of these clocks was designed for accuracy; early 
  2089. versions of the PC did not even include the hardware/battery arrangement. 
  2090. Even the typical electric clock, which uses the power line frequency for 
  2091. its timekeeping reference, is far more accurate.
  2092.      The accuracy of the DOS time at any instant is the result of the 
  2093. accumulated errors in both clocks. The hardware clock will drift as a 
  2094. function of time, temperature, and crystal aging; the software clock will 
  2095. gain or lose time depending upon the skill with which its software was 
  2096. written and how well that software "cooperates" with the balance of the 
  2097. computer's hardware and software. Some software, especially network and 
  2098. high speed communications software, can prevent the DOS clock software from 
  2099. incrementing when it should, usually resulting in the DOS clock losing 
  2100. time. The problem was compounded with the release of DOS Version 3.3; 
  2101. beginning with that version, the DOS TIME and DATE commands adjust BOTH the 
  2102. hardware and software clocks and thereby potentially eliminate the hardware 
  2103. clock as even a modestly reliable reference. If today's personal computers 
  2104. used the power line frequency as their primary reference, and only used the 
  2105. battery powered crystal oscillator if the power line was not present, clock 
  2106. accuracy could at one stroke be improved by at least several orders of 
  2107. magnitude.
  2108.  
  2109.  
  2110. Program JPLCLOCK Multimission Control Center Clock                 Page 40
  2111.  
  2112.  
  2113. Setting DOS Time
  2114. ----------------
  2115.  
  2116.      Bearing these considerations in mind, there are a number of approaches 
  2117. to the DOS time question. The most obvious approach, used by the vast 
  2118. majority of computer users, is to either ignore the computer clock entirely 
  2119. or to say "It's close enough". Regardless of the application, I strongly 
  2120. recommend that the DOS clock be set to the approximate time if only to 
  2121. assure that files are more or less correctly date stamped. If the accuracy 
  2122. of DOS time is important, the computer clock may be set or synchronized 
  2123. in a number of ways, some of which are described below. In this context, 
  2124. "ACCURACY" means the accuracy of the time setting operation and NOT the 
  2125. longer term accuracy of the DOS time.
  2126.  
  2127.      1.   TELEPHONE: Many local telephone companies offer a telephone time 
  2128.           service, usually with a message such as "When you hear the signal 
  2129.           the time will be ... (beep)". I am not aware of any commercial 
  2130.           equipment which uses this signal for time setting purposes.
  2131.  
  2132.           ACCURACY: Generally plus or minus 5 seconds. With the advent of 
  2133.           digital voice response equipment, the accuracy has improved in 
  2134.           recent years to perhaps plus or minus 1 second.
  2135.  
  2136.      2.   COMMERCIAL RADIO: Use commercial radio hourly time signals to 
  2137.           manually set the time. (My experience suggests that the CBS time 
  2138.           signal is normally quite reliable.)
  2139.  
  2140.           ACCURACY: Usually within plus or minus 2 seconds, depending upon 
  2141.           the source.
  2142.  
  2143.      3.   SHORTWAVE RADIO: Time signals are broadcast on shortwave radio
  2144.           stations WWV and WWVH by the National Institute of Standards and 
  2145.           Technology. These time signals may be used to manually set the 
  2146.           time. WWV and WWVH broadcast on several frequencies: 2.5MHz, 
  2147.           5MHz, 10MHz, 15MHz, and 20 MHz (WWV only). Reception will vary 
  2148.           according to your distance from the transmitter, time of day, and 
  2149.           atmospheric conditions. These time signals are very precise; the 
  2150.           only major variable is the transmission time. Outside North 
  2151.           America, other national radio services such as the British 
  2152.           Broadcasting Company's BBC World Service offer accurate hourly 
  2153.           shortwave time signals.
  2154.  
  2155.           ACCURACY: Time setting using WWV or WWVH can usually be performed 
  2156.           to within about plus or minus 250 milliseconds, of which up to 25 
  2157.           milliseconds is transmission time and the balance is user 
  2158.           response time. With practice, plus or minus about 100 
  2159.           milliseconds is practical.
  2160.  
  2161.      4.   NIST/USNO TELEPHONE TIME SERVICE: When real precision and 
  2162.           accuracy are required, the computer clock may be set remotely 
  2163.           using the telephone time service of either the National Institute 
  2164.           of Standards and Technology (NIST, formerly the National Bureau 
  2165.           of Standards or NBS) in Boulder, Colorado or Hilo, Hawaii, or the 
  2166.           U.S. Naval Observatory (USNO) in Washington, D.C. This method 
  2167.           requires a modem connected to a telephone line and is available 
  2168. Program JPLCLOCK Multimission Control Center Clock                 Page 41
  2169.  
  2170.  
  2171.           for systems using DOS version 3.3 or higher AND equipped with 
  2172.           80286 processor or higher; some 8088-equipped systems may also 
  2173.           use this method depending upon the type of clock hardware 
  2174.           installed and the version of DOS being used. The recommended 
  2175.           method uses the program TIMESET (see below) although other 
  2176.           similar commercial and shareware programs are available.
  2177.  
  2178.           ACCURACY: This is the most accurate method available for setting 
  2179.           the DOS clocks. Depending upon which service is used, NIST or 
  2180.           USNO, and whether or not line delay compensation ("lag") is 
  2181.           employed, the DOS time can be set to within plus or minus 2 
  2182.           milliseconds. However, since the "time ticks" of the DOS software 
  2183.           clock occur every 55 milliseconds, or 18.2 times per second, this 
  2184.           "granularity" effectively limits the accuracy of reading the DOS 
  2185.           clocks. See the documentation for program TIMESET for additional 
  2186.           discussion.
  2187.  
  2188.      5.   HEATH GC-1000 MOST ACCURATE CLOCK: The GC-1000 is a combination 
  2189.           digital clock and scanning shortwave radio receiver which may be 
  2190.           equipped with an RS-232 communications port for use with 
  2191.           computers and other electronic equipment. This is the only method 
  2192.           which provides more or less continuous accurate time information. 
  2193.           RECOMMENDED!
  2194.  
  2195.           ACCURACY: When properly configured for your location, equipped 
  2196.           with an external antenna, used with appropriate computer 
  2197.           software, and when the receiver is locked to one of the WWV (or 
  2198.           WWVH) time signals, the GC-1000 can provide time information and 
  2199.           a standard calibration frequency to an accuracy of plus or minus 
  2200.           10 milliseconds. When signal lock is lost, the receiver scans the 
  2201.           5MHz, 10MHZ, and 15MHz broadcasts to reacquire signal and lock. 
  2202.           Even after signal lock is lost, the receiver maintains an 
  2203.           accuracy of plus or minus 100 milliseconds for some hours.
  2204.  
  2205.      Choose one of the methods suggested or a suitable alternative based 
  2206. upon your precision and accuracy requirements. Other methods of maintaining 
  2207. an accurate time standard, such an atomic clocks and NIST time code 
  2208. equipment, are available -- for a price. Those methods are beyond the scope 
  2209. of program JPLCLOCK and this documentation.
  2210.  
  2211.  
  2212. Maintaining DOS Time
  2213. --------------------
  2214.  
  2215.      Just in case you missed the point earlier, accurately setting DOS time 
  2216. is only half the battle. Even if the DOS time is set very precisely as 
  2217. discussed above, all that assures is that the time is correct to the 
  2218. required accuracy at that instant. The problem then becomes one of knowing 
  2219. how the DOS clocks change or drift with time and how to compensate for 
  2220. those changes or, alternatively, checking the DOS time frequently enough 
  2221. that any drift on the part of the DOS clocks is acceptable for the intended 
  2222. application.
  2223.      Of the two clocks in a typical personal computer, the hardware clock 
  2224. is considerably more consistent and reliable. I have checked perhaps a 
  2225. dozen PC hardware clocks in recent years, and almost all kept reasonably 
  2226. Program JPLCLOCK Multimission Control Center Clock                 Page 42
  2227.  
  2228.  
  2229. good time over a period of several days; as expected, none kept "perfect" 
  2230. time. Typical drift rates ranged from about 3 seconds per day to near zero 
  2231. seconds per day, with the magnitude and direction of the drift more or less 
  2232. constant over the period of measurement. Once a hardware clock has been 
  2233. calibrated, therefore, the drift can be calculated with reasonable accuracy 
  2234. over periods of some weeks or more. For best results, the computer should 
  2235. always be left on and the ambient temperature held constant. Crystal aging 
  2236. rates suggest that calibration should be performed at least annually.
  2237.      The hardware clock is normally interrogated only when the computer is 
  2238. first started or rebooted. The correct time can therefore only be predicted 
  2239. at that moment for a calibrated hardware clock and given the last time that 
  2240. clock was synchronized with an appropriate time standard. Microsoft 
  2241. provides no standard software tools for interrogating the hardware clock at 
  2242. other times. Quite the contrary; beginning with DOS Version 3.3, using the 
  2243. DOS TIME and DATE commands to set the DOS software will also set the 
  2244. hardware clock and effectively destroy its usefulness as a calibrated time 
  2245. reference. I am at a complete loss to understand the reasoning behind this 
  2246. change in DOS; I presume that users were being "confused" by differences 
  2247. between the hardware and software clocks; instead of either explaining or 
  2248. fixing the problem, Microsoft elected to "legislate" the problem away -- a 
  2249. process any politician would recognize instantly. The only mitigating 
  2250. consideration is that any really effective solution would probably require 
  2251. hardware as well as software changes. Blame IBM, I guess.
  2252.      The software clock provides the only time information accessible to 
  2253. DOS using standard software. Since this clock is maintained entirely in 
  2254. software, with no reference to the hardware clock except at bootup, it is 
  2255. at the mercy of other software which may execute from time to time. The 
  2256. software clock increments its time using "interrupts", a technique which 
  2257. stops a software process in progress just long enough to do the required 
  2258. tasks and then resumes the interrupted process. These interrupts occur 
  2259. every 55 milliseconds. So long as none is missed, the software clock should 
  2260. keep accurate time -- if the software is written correctly and if the 
  2261. computer's crystal controlled oscillator is in turn accurate. It may be 
  2262. that neither of these conditions is true; certainly the crystal controlled 
  2263. oscillator (quite similar to the one which runs the hardware clock) was not 
  2264. designed for accuracy or stability. It's original purpose was solely to 
  2265. generate the necessary timing signals for the correct operation of the 
  2266. computer. Cost, not keeping accurate time, was the primary consideration in 
  2267. its design.
  2268.      Other software designers have contributed to the problem by writing 
  2269. software which, deliberately or inadvertently, prevents the software clock 
  2270. from being updated. Off-brand BIOS firmware can present occasional 
  2271. problems. Local Area Network (LAN) and high speed communications software 
  2272. are typical culprits in this respect. For example, a casual check of the 
  2273. clock while using Brooklyn Bridge (a computer-to-computer transfer program) 
  2274. indicated that the clock was effectively suspended when data transfers were 
  2275. in progress. In one relatively brief period, the DOS clock lost about 30 
  2276. seconds.
  2277.      As a result of all of these factors, the accuracy of the DOS software 
  2278. clock can vary wildly from one computer to the next and from one 
  2279. manufacturer to another. One inexpensive "clone" computer that I'd rather 
  2280. forget couldn't manage to keep time to better than about 30 seconds per 
  2281. HOUR! Before planning to use a particular computer as a time reference with 
  2282. programs like JPLCLOCK, check the computer hardware and software you intend 
  2283. to use very carefully.
  2284. Program JPLCLOCK Multimission Control Center Clock                 Page 43
  2285.  
  2286.  
  2287.  
  2288.  
  2289. Calibrating DOS Time
  2290. --------------------
  2291.  
  2292.      Regardless of the method used, the DOS time must be set from time to 
  2293. time in order to maintain even reasonable accuracy. More demanding 
  2294. applications will require calibration of the hardware or software clock or 
  2295. both. The method and frequency of calibration will depend upon your 
  2296. accuracy requirements and cost. For my "normal" work, involving program 
  2297. development and word processing, I use NIST station WWV and a digital 
  2298. PLL shortwave receiver to manually set my computer clocks on a regular 
  2299. basis. From time to time I require higher accuracy; given my location in 
  2300. California, I usually use a program like TIMESET to call the NIST Telephone 
  2301. Time Service in Boulder, Colorado when precise time setting is required.
  2302.      When using a program such as JPLCLOCK where consistent accuracy is 
  2303. essential over extended periods of time, calibration of the hardware and 
  2304. software clocks may be required. I recommend program TIMESET for this 
  2305. purpose. TIMESET is a copyrighted program by Peter Petrakis which is      
  2306. distributed using the "shareware" concept. If not available on a      
  2307. convenient bulletin board system, TIMESET may be obtained by writing:
  2308.  
  2309.           Life Sciences Software
  2310.           8925 271st N.W., Suite 112
  2311.           P.O. Box 1560
  2312.           Stanwood, WA  98292
  2313.  
  2314.           (206) 387-9788
  2315.  
  2316.           US$35.00/copy (as of April, 1991)
  2317.  
  2318.      TIMESET is an elegant and very precise method for setting the hardware 
  2319. and software clocks in your computer. Note that TIMESET sets your computer 
  2320. based upon Coordinated Universal Time (UTC) rather than UT1; the offset 
  2321. between UTC and UT1 is displayed by TIMESET but is not used. TIMESET is 
  2322. superior to any of the several other similar programs I have evaluated. You 
  2323. must have a modem and a telephone line connected to your system to use 
  2324. TIMESET. Note that the process involves making a telephone call to either 
  2325. Boulder, CO or Washington, DC and toll or long distance charges may apply! 
  2326. For additional information on configuring TIMESET for use with JPLCLOCK, 
  2327. see the section TIME SYNCHRONIZATION.
  2328.      The current version of TIMESET, Version 6.0, is not without its 
  2329. shortcomings. First, if the modem does not make connection to a telephone 
  2330. line correctly, TIMESET may hang indefinitely waiting for a response from 
  2331. the modem which will never arrive. This is the case with one of my internal 
  2332. modems that is convinced that the first call after initialization is at 
  2333. 2400 baud; since the call to NIST is being made at 1200 baud, the modem is 
  2334. definitely "confused". This problem has not been observed when using a 
  2335. standard Hayes 2400 modem. Second, TIMESET does not record the statistical 
  2336. results of its operations to a disk file. This means that calibration must 
  2337. be performed manually; normal time setting, however, operates automatically 
  2338. with no problems. Third, TIMESET does not return an "error code" to 
  2339. indicate whether or not synchronization was successfully performed. I hope 
  2340. to convince Mr. Petrakis of the need to address these relatively minor 
  2341. problems in an otherwise excellent program.
  2342. Program JPLCLOCK Multimission Control Center Clock                 Page 44
  2343.  
  2344.  
  2345.      The method being used for time synchronization and adjustment will 
  2346. determine whether or not calibration of your hardware clock is required. If 
  2347. you use the Heath GC-1000 Most Accurate Clock, calibration is probably not 
  2348. required. Similarly, if you place a program like TIMESET in your 
  2349. AUTOEXEC.BAT file and synchronize your DOS clocks every time you start your 
  2350. computer, hardware calibration is not required. If, on the other hand, you 
  2351. wish to call NIST as infrequently as possible so as to minimize the 
  2352. telephone charges, hardware clock calibration is definitely recommended. 
  2353. Unless you use the Heath GC-1000 (or some other time standard) and poll it 
  2354. regularly, calibration of the software clock is always required.
  2355.      The following suggested calibration procedures assume the use of 
  2356. program TIMESET and that TIMESET has already been configured for your 
  2357. computer and for your time zone. See the TIMESET documentation for 
  2358. instructions. If you use some other program, it must provide similar 
  2359. information and you must make appropriate changes to these procedures as 
  2360. required by the software actually used.
  2361. Program JPLCLOCK Multimission Control Center Clock                 Page 45
  2362.  
  2363.  
  2364. Manual Hardware Clock Calibration
  2365. ---------------------------------
  2366.  
  2367.      Hardware clock calibration requires a minimum of 48 hours to 
  2368. accomplish. The computer should be located in the environment in which it 
  2369. is expected to operate and should be turned on and off at the "usual" 
  2370. times. The idea is to duplicate the actual operating conditions to the 
  2371. maximum extent possible, especially temperature. The following procedure is 
  2372. suggested:
  2373.  
  2374.      1.   Operate the computer in its normal environment and according to 
  2375.           its usual schedule for at least 24 hours prior to the test.
  2376.  
  2377.      2.   Set the hardware clock using TIMESET according to instructions. 
  2378.           Use a screen capture program or manually record the ACTION 
  2379.           SUMMARY prepared by TIMESET. The most significant information is 
  2380.           shown as:
  2381.  
  2382.           Local computer time was:  06:59:41.95
  2383.                            Set to:  06:59:44.01 Pacific Daylight
  2384.           Local computer date was:  06-19-1991
  2385.                            Set to:  06-19-1991, Wednesday
  2386.  
  2387.      3.   Operate the computer normally for the next 24 hours. Do NOT use 
  2388.           the DOS DATE and TIME commands!
  2389.  
  2390.      4.   After approximately 24 hours, repeat the time setting with 
  2391.           TIMESET and record the same information as in Step 2.
  2392.  
  2393.      5.   Using the data obtained in Steps 2 and 4, calculate the hardware 
  2394.           clock drift in seconds per day.
  2395.  
  2396.      6.   Operate the computer normally for the next 24 hours. Do NOT use 
  2397.           the DOS DATE and TIME commands!
  2398.  
  2399.      7.   After approximately 48 hours, repeat the time setting with 
  2400.           TIMESET and record the same information as in Step 2.
  2401.  
  2402.      8.   Using the data obtained in Steps 4 and 7, again calculate the 
  2403.           hardware clock drift in seconds per day. Repeat as required until 
  2404.           consistent results are obtained. If consistent results cannot be 
  2405.           obtained, the selected computer may not be suitable for your 
  2406.           intended use.
  2407.  
  2408. NOTE: The current version of JPLCLOCK does not directly use the hardware 
  2409. clock drift in its time adjustment calculations. This capability will be 
  2410. added in a future version. Instead, JPLCLOCK accepts a "Clock Offset" value 
  2411. which represents the total hardware clock drift in seconds between the last 
  2412. time synchronization was performed and the most recent time the computer 
  2413. was booted. If the computer is always synchronized immediately prior to 
  2414. running JPLCLOCK, the hardware calibration is not required and the Clock 
  2415. Offset should be set to zero.
  2416. Program JPLCLOCK Multimission Control Center Clock                 Page 46
  2417.  
  2418.  
  2419. Manual Software Clock Calibration
  2420. ---------------------------------
  2421.  
  2422.      Manual software clock calibration is quite similar to hardware clock 
  2423. calibration and is recommended for all installations using JPLCLOCK which 
  2424. do not plan to use the automatic synchronization and calibration features 
  2425. of the program. The recommended procedure requires 28 hours to accomplish. 
  2426. The computer should be located in the environment in which it is expected 
  2427. to operate and should be turned on and off at the "usual" times. The idea 
  2428. is to duplicate the actual operating conditions to the maximum extent 
  2429. possible, especially temperature. The following procedure is suggested:
  2430.  
  2431.      1.   Operate the computer in its normal environment and according to 
  2432.           its usual schedule for at least 24 hours prior to the test.
  2433.  
  2434.      2.   Set the hardware and software clocks using TIMESET according to 
  2435.           instructions. Use a screen capture program or manually record the 
  2436.           ACTION SUMMARY prepared by TIMESET. The most significant 
  2437.           information is shown as:
  2438.  
  2439.           Local computer time was:  06:59:41.95
  2440.                            Set to:  06:59:44.01 Pacific Daylight
  2441.           Local computer date was:  06-19-1991
  2442.                            Set to:  06-19-1991, Wednesday
  2443.  
  2444.      3.   Operate the computer normally for the next 4 hours. "Normal 
  2445.           operation" means using the particular software, JPLCLOCK in this 
  2446.           case, that is planned for the computer. Do NOT use the DOS DATE 
  2447.           and TIME commands!
  2448.  
  2449.      4.   After 4 hours, repeat the time setting with TIMESET and record 
  2450.           the same information as in Step 2.
  2451.  
  2452.      5.   Using the data obtained in Steps 2 and 4, calculate the software 
  2453.           clock drift in seconds per day.
  2454.  
  2455.      6.   Operate the computer normally for the next 12 hours. "Normal 
  2456.           operation" means using the particular software, JPLCLOCK in this 
  2457.           case, that is planned for the computer. Do NOT use the DOS DATE 
  2458.           and TIME commands!
  2459.  
  2460.      7.   After 12 hours, repeat the time setting with TIMESET and record 
  2461.           the same information as in Step 2.
  2462.  
  2463.      8.   Using the data obtained in Step 7, again calculate the software 
  2464.           clock drift in seconds per day. Repeat as required until 
  2465.           consistent results are obtained. If consistent results cannot be 
  2466.           obtained, the selected computer may not be suitable for your 
  2467.           intended use.
  2468.  
  2469.      9.   Now enter the latest synchronization date and time (from Step 7) 
  2470.           and calculated drift (from Step 8 or Step 5) in seconds per day 
  2471.           into program JPLCLOCK. From the Main Menu, press F10+F1 and enter 
  2472.           the data as prompted. Enter zero for Clock Offset.
  2473.  
  2474. Program JPLCLOCK Multimission Control Center Clock                 Page 47
  2475.  
  2476.  
  2477.      Other time sources may be similarly used to calibrate the DOS clock. 
  2478. The final result of this calibration should be a software clock drift in 
  2479. seconds per day that should remain reasonably stable for relatively long 
  2480. periods of time. The calculated clock drift is POSITIVE if your DOS clock 
  2481. GAINS time with respect to the time source and NEGATIVE if your DOS clock 
  2482. LOSES time with respect to the time source. These data may then be entered 
  2483. into JPLCLOCK so that the program will automatically adjust the displayed 
  2484. time for the predicted drift.
  2485.      Note that the predicted drift calculations assume that JPLCLOCK is 
  2486. operating continuously. If you exit JPLCLOCK and perform operations that 
  2487. affect the DOS clock (such as disk accesses or high speed communications), 
  2488. the drift calculations will still be accurate but you will have to add a 
  2489. clock offset to compensate for the DOS clock changes. If you turn off your 
  2490. computer, you must reset your clock (to the desired accuracy) and then 
  2491. adjust the last synchronization time to correspond to the time you reset 
  2492. your computer clocks. For maximum accuracy, perform a manual time 
  2493. synchronization (F10+F3+F1 from the Main Menu) each time you reboot your 
  2494. computer; JPLCLOCK will automatically update the last synchronization time.
  2495.      Program JPLCLOCK is a "well behaved" program written and compiled 
  2496. using Microsoft's QuickBASIC Compiler, Version 4.5. No "clever tricks" are 
  2497. used to fool the system into doing something that might interfere with 
  2498. accurate timekeeping by the DOS software clock. The software clock drift 
  2499. obtained by this suggested procedure should be relatively consistent from 
  2500. day to day.
  2501. Program JPLCLOCK Multimission Control Center Clock                 Page 48
  2502.  
  2503.  
  2504. USING TEXT MODE
  2505. ---------------
  2506.  
  2507.      In addition to its use in the Multimission Computer Control Center, 
  2508. JPL is also considering the use of JPLCLOCK as a means of displaying 
  2509. the current mission and event times in other locations at the Laboratory, 
  2510. and for display to visitors and guests. In order to explain the data, to 
  2511. provide additional commentary on missions in progress, and to provide 
  2512. other supplementary information, JPL suggested the addition of a TEXT mode 
  2513. to further enhance JPLCLOCK.
  2514.      Each time JPLCLOCK is started, it searches for a special message file 
  2515. named "JPLCLOCK.MSG" in the current drive and directory. If the file is 
  2516. found, it reads the file into memory and thereafter permits the TEXT MODE 
  2517. to be enabled. This occurs ONLY when the program is started from the DOS 
  2518. prompt; if you use the DOS SHELL (Function Key F9 from the Main Menu) to 
  2519. copy or create the special message file, JPLCLOCK will NOT recognize the 
  2520. file until the program is restarted.
  2521.      The TEXT mode has a capacity of up to 10 screen pages of text with 20 
  2522. lines per screen page. The normal distribution of the program includes a 
  2523. demonstration message file with the name JPLCLOCK.MSG. To enable TEXT mode, 
  2524. you must first enable PAGE mode. This may be done when the program is 
  2525. started from the DOS prompt:
  2526.  
  2527.           JPLCLOCK /PAGE/TEXT
  2528.  
  2529. or by using Function Key F8 (to enable PAGE mode) and then Function Key F7 
  2530. (to enable TEXT mode) from the Main Menu. Disabling PAGE mode automatically 
  2531. disables the TEXT mode. TEXT mode cannot be enabled in the special message 
  2532. file JPLCLOCK.MSG was not found when the program was started OR if the file 
  2533. contains no text.
  2534.      When the TEXT mode is enabled, JPLCLOCK first cycles through all 
  2535. active Mission Timers (as in the usual PAGE mode), then cycles through all 
  2536. available text pages in order. The process then repeats. The sample special 
  2537. message file contains five text pages.
  2538.      When the TEXT mode is active and JPLCLOCK is cycling through all 
  2539. active Mission Timers and text pages, a special "bar meter" is displayed 
  2540. at the top left of the Mission Timer Windows. This is a row of ten special 
  2541. square symbols, one for each of the ten text pages, which indicates the 
  2542. status of the page. Each available text page is denoted by a BLUE symbol; 
  2543. the active text page symbol is flashing. Inactive text pages (pages without 
  2544. any text) are shown with a GRAY symbol.
  2545.      In addition to the prepared text in file JPLCLOCK.MSG, the display 
  2546. includes a title line with the program version number, the current Julian 
  2547. Date, and the local date in conventional notation. The second line displays 
  2548. the current UTC Time, Local Time, and the two "bar meters". The left bar 
  2549. meter gives the status of title pages, and the right meter the status of 
  2550. the Mission Timer pages. The following is the first screen page in the 
  2551. supplied sample file JPLCLOCK.MSG. Special "line drawing" characters 
  2552. actually used in the display have been replaced in this text by similar
  2553. printing characters.
  2554. Program JPLCLOCK Multimission Control Center Clock                 Page 49
  2555.  
  2556.  
  2557. | JPLCLOCK by David H. Ransom, Jr.  Version 9126 |  JD2448430.26897 22 JUN 1991
  2558.   18:27:19 UTC                      11:27:19 PDT    **********       **********
  2559. ---------- NASA Jet Propulsion Laboratory -------------------------------------
  2560.  
  2561.                               Welcome to JPLCLOCK!
  2562.                               --------------------
  2563.  
  2564.                                    Written by
  2565.                               David H. Ransom, Jr.
  2566.                             Rancho Palos Verdes, CA
  2567.  
  2568.  
  2569.      JPLCLOCK is a real time clock and mission/event timer program written
  2570. especially for the NASA Jet Propulsion Laboratory in Pasadena, California for
  2571. use in the Multimission Computer Control Center (MCCC) and elsewhere in the
  2572. Laboratory. The MCCC is the "nerve center" where all the NASA planetary
  2573. missions such as Magellan, Ulysses, and Galileo are controlled. Other NASA and
  2574. European Space Agency missions are also supported by the JPL MCCC either
  2575. directly or through NASA's Deep Space Network, three large antenna systems
  2576. located in Goldstone, California, near Madrid, Spain and near Canberra,
  2577. Australia. The MCCC is in turn supported by the scientists and engineers at JPL
  2578. and at the California Institute of Technology, which operates JPL for NASA.
  2579.  
  2580.  
  2581. Preparing TEXT Files
  2582. --------------------
  2583.  
  2584.      The sample demonstration message file JPLCLOCK.MSG may be used as a 
  2585. template to create customized text files. When preparing text files for use 
  2586. with JPLCLOCK, use an ASCII editor, or use a word processor program in the 
  2587. "non-document" or "ASCII" mode. Before editing, make a backup copy of file 
  2588. JPLCLOCK.MSG. I recommend that all text files for JPLCLOCK be created with 
  2589. the filetype ".MSG". Future versions of JPLCLOCK may include a feature to 
  2590. read additional text files and the required filetype will be ".MSG".
  2591.      The sample file contains 5 screen pages of text. Each screen page 
  2592. consists of exactly 20 lines of text, and a maximum of 10 screen pages (or 
  2593. 200 text lines) is allowed. After creating a new text file (and having made 
  2594. a backup copy of the original JPLCLOCK.MSG file!), copy the new file to 
  2595. JPLCLOCK.MSG and start program JPLCLOCK in the TEXT mode to view the 
  2596. results. My testing indicates that it takes several attempts before the 
  2597. appearance of the screen pages suit my taste.
  2598.      The TEXT mode displays text lines exactly as it finds them in file 
  2599. JPLCLOCK.MSG. As illustrated in the sample file, the "line drawing" 
  2600. characters and other special characters are displayed. (Some editors are 
  2601. unable to place these special characters in a text file. I recommend the 
  2602. shareware editor QEDIT for editing text files for JPLCLOCK.)
  2603. Program JPLCLOCK Multimission Control Center Clock                 Page 50
  2604.  
  2605.  
  2606. COMMENTS AND KNOWN PROBLEMS
  2607. ---------------------------
  2608.  
  2609. 1.   Computer BIOS Problems
  2610.  
  2611.      Not all PC's are created equal. A program like JPLCLOCK may execute 
  2612. correctly on one machine and not on another. The most likely culprit in 
  2613. these cases is the computer's BIOS (Basic Input Output System) which is 
  2614. built into each machine (in ROM, Read Only Memory) by the manufacturer. 
  2615. Even computers with the same model number may have a different BIOS, 
  2616. depending upon when they were manufactured; different model numbers by the 
  2617. same manufacturer may perform differently. Brands which have demonstrated 
  2618. problems in this area include Tandy, Leading Edge, and Ergo.
  2619.  
  2620. 2.   Monitor Type and Video Adapter Cards
  2621.  
  2622.      Not all video adapter cards are created equal either. While most CGA 
  2623. adapters perform about the same, EGA and VGA adapters can vary 
  2624. considerably. The same card, operated in different video modes, can be a 
  2625. star or a lemon. There are too many different types of adapters to even 
  2626. attempt any generalizations. One practical note: Some VGA monochrome 
  2627. monitors "confuse" the VGA BIOS and/or the VGA adapter and require the 
  2628. command "MODE CO80" (from the DOS prompt) for proper gray-scale operation 
  2629. with JPLCLOCK.
  2630.  
  2631. 3.   Computer Processor and Math Coprocessor
  2632.  
  2633.      JPLCLOCK has been tested primarily on computers equipped with the 
  2634. 80286 or higher processor and including a math coprocessor chip. There are 
  2635. no known problems if the computer does NOT have a math coprocessor chip but 
  2636. there may be perceptible delays visible on the screen; obviously, there's 
  2637. no solution except a faster computer or the addition of a math coprocessor 
  2638. chip. No testing has been performed on 8088-class machines (the original PC 
  2639. and XT computers and their clones). Operations involving the CMOS 
  2640. clock/calendar chip will usually fail on these machines since their design 
  2641. did not include that feature; the various add-on clock chips and circuit 
  2642. cards are usually incompatible with the current clock chips. If you have 
  2643. such a computer and wish to use program TIMESET, read the TIMESET 
  2644. documentation carefully and test the program thoroughly before use with 
  2645. JPLCLOCK.
  2646.  
  2647. 4.   DOS Version and the Shell Feature
  2648.  
  2649.           The "Shell to DOS" feature, used by Function Key F9 from the Main 
  2650. Menu and when program TIMESET is executed from within JPLCLOCK, is 
  2651. generally NOT reliable for versions of DOS prior to 3.1 and the results of 
  2652. attempting to use this command with DOS Version 2.x and lower are 
  2653. unpredictable. I recommend MS-DOS/PC-DOS Version 3.3 as the best, most 
  2654. stable DOS available. The Shell feature may also fail on certain computers 
  2655. for no apparent reason, probably related to the BIOS. I have also performed 
  2656. limited testing on DOS Version 5.0 without any problems to date. (I'm still 
  2657. using a Beta Version of DOS 5.0 and will resume testing as soon as I get 
  2658. the Real Thing installed.)
  2659.  
  2660. Program JPLCLOCK Multimission Control Center Clock                 Page 51
  2661.  
  2662.  
  2663. 5.   Unstable Hardware or Software Clocks
  2664.  
  2665.      Some clock circuits have been implemented in such a manner that they 
  2666. are essentially a simple tuned resistance-capacitance design which 
  2667. effectively ignores the presence of a crystal. Such circuits may drift 
  2668. wildly as a function of time, temperature and/or voltage, and make the host 
  2669. computer unsuitable for an application such as JPLCLOCK. Any decent crystal 
  2670. controlled oscillator should be able to hold to within a second per day, 
  2671. but not many PC computer clocks are that good. I've been told that tests on 
  2672. a typical PC hardware clock several years ago showed a 5% difference in 
  2673. clock frequency when operated on AC power versus the lithium battery. I 
  2674. would not have believed that big a difference was even possible with a 
  2675. crystal oscillator!
  2676.      However, what appears to be an unstable DOS clock may, in fact, be the 
  2677. fault of certain software. Network and communications software are 
  2678. notorious for turning off the interrupt system and doing other bad things 
  2679. which prevent the DOS clock from keeping accurate time. This problem 
  2680. usually shows up as a significant time loss AFTER network access or high 
  2681. speed communications. Avoid the use of these programs when running JPLCLOCK 
  2682. and eliminate any TSR (Terminate and Stay Resident) programs which may 
  2683. interfere with the clock.
  2684.      The fact that there are two clocks in the PC can cause confusion and 
  2685. apparent errors. While JPLCLOCK is running, only the DOS clock is 
  2686. interrogated and it is this clock that requires the most careful 
  2687. calibration for extended operations. However, each time a computer with a 
  2688. battery supported clock/calendar is booted, the hardware clock is used to 
  2689. initially set the DOS clock. These two clocks have independent drift 
  2690. direction and rate; thus, the time may appear to drift in one direction if 
  2691. the computer is booted frequently, and in the opposite direction if it is 
  2692. left on. Microsoft compounded the problem by "fixing" the DOS TIME command 
  2693. in Version 3.3 and up so that it sets both the hardware and software 
  2694. clocks, thereby eliminating the hardware clock as any sort of a reliable or 
  2695. stable reference!
  2696.  
  2697. 6.   Typical Calibration Results
  2698.  
  2699.      During the testing of JPLCLOCK I have used both 286 and 386 computers 
  2700. and have calibrated each of their software clocks using the NIST telephone 
  2701. time service. While the drift rates varied from computer to computer, each 
  2702. computer was able to maintain the correct time using JPLCLOCK to within 150 
  2703. milliseconds after: a) running for a minimum of 4 hours prior to attempting 
  2704. calibration; and b) using a calibration time of at least 4 hours. Since the 
  2705. DOS clock ticks occur at 55 millisecond intervals, calibration runs of less 
  2706. than four hours will yield an uncertainty which is of the same order of 
  2707. magnitude as the desired calibration accuracy.
  2708.      For applications requiring maximum accuracy, these tests indicate that 
  2709. the computer should be set using NIST each time the computer is booted and 
  2710. then resynchronized at 4 to 24 hour intervals. The stability of the DOS 
  2711. clock will determine the optimum interval. JPLCLOCK records the measured 
  2712. drift rate each time it makes a synchronization call; use F3+F3+F1 from the 
  2713. Main Menu to view the data and adjust the synchronization interval to the 
  2714. longest time which yields consistent results. Another consideration is to 
  2715. minimize the number of calls to NIST or USNO; these telephone time services 
  2716. are a precious resource and should be used as infrequently as possible 
  2717. consistent with the needs of your application (as well as your willingness 
  2718. Program JPLCLOCK Multimission Control Center Clock                 Page 52
  2719.  
  2720.  
  2721. to pay the toll charges).
  2722.  
  2723. 7.   Color Variations
  2724.  
  2725.      Especially with EGA and VGA adapter cards, displayed colors may vary 
  2726. considerably from those described. The most common variation is "dim 
  2727. yellow" (used for the version number on JPLCLOCK's title screen) which 
  2728. often appears as either brown or a dim red which is all but 
  2729. indistinguishable from the "real" dim red. Other colors may also vary from 
  2730. system to system and from monitor to monitor.
  2731. Program JPLCLOCK Multimission Control Center Clock                 Page 53
  2732.  
  2733.  
  2734. FUTURE IMPROVEMENTS AND FEATURES
  2735. --------------------------------
  2736.  
  2737.      JPLCLOCK is still a very young program and, in addition to repairing 
  2738. the inevitable bugs and problems that are bound to be found, I have a 
  2739. number of additional features that I hope to add in future releases of the 
  2740. program. Here are a few that are being considered:
  2741.  
  2742. 1.   Add better manual calibration procedures to include a brief tone so 
  2743.      that users who don't choose to pay the telephone charges to NIST or 
  2744.      USNO can still calibrate their systems reasonably accurately by using 
  2745.      ratio stations WWV or WWVH. Casual experimentation on my part has 
  2746.      indicated that I can hear differences as small as about 100 
  2747.      milliseconds without much difficulty. Propagation delay from Fort 
  2748.      Collins, Colorado to the Los Angeles area is only about 20 milli-
  2749.      seconds so it should be simple to calibrate the clocks to plus or 
  2750.      minus 250 milliseconds in a day or so.
  2751.  
  2752. 2.   Add automatic calibration of the hardware (CMOS) clock comparable to 
  2753.      that now provided for the software (DOS) clock. This is a little more 
  2754.      complicated since the hardware clock can only be read to the nearest 
  2755.      second.
  2756.  
  2757. 3.   Add automatic synchronization using the Heath GC-1000 Most Accurate 
  2758.      Clock. When equipped with an RS-232 interface and external antenna, 
  2759.      the GC-1000 can maintain an accuracy of plus or minus about 10 
  2760.      milliseconds with WWV or WWVH. With software overhead, this probably 
  2761.      translates into about plus or minus 50 milliseconds for the PC, the 
  2762.      resolution of the DOS clock ticks.
  2763.  
  2764. 4.   Give the user the choice of displaying UTC or UT1 (required for 
  2765.      navigation, for example) if synchronization is done using the NIST 
  2766.      telephone time service or the Heath GC-1000 Clock (which are the only 
  2767.      available services which supply the correction from UTC to UT1). The 
  2768.      current correction is +0.2 seconds as of July 1, 1991.
  2769.  
  2770. 5.   For systems equipped with a CMOS clock/calendar chip (286 and higher), 
  2771.      add the optional capability to use the hardware clock to adjust the 
  2772.      DOS time when leaving JPLCLOCK to do disk operations, etc.
  2773.  
  2774. 6.   Add automatic correction to/from Daylight Savings Time. This will
  2775.      require automatically adjusting the DOS clock by one hour at the 
  2776.      appropriate times each April and October. This is a real "must do"!
  2777.  
  2778. 7.   Improve readability of the times (especially when using the SMALL Main 
  2779.      Window) by using an alternate font for EGA and VGA monitors. I'm at 
  2780.      the mercy of QuickBASIC and the computer's BIOS for this feature; some 
  2781.      systems accept alternate fonts from within a QuickBASIC program and 
  2782.      others do not.
  2783.  
  2784. Not all of these features may ever be added and others may find their way 
  2785. to the top of the list first. Comments and suggestions will be appreciated.
  2786. Program JPLCLOCK Multimission Control Center Clock                 Page 54
  2787.  
  2788.  
  2789. UTC AND TIME ZONES
  2790. ------------------
  2791.  
  2792.      Coordinated Universal Time (UTC) is the world wide civil standard time 
  2793. as broadcast by national radio time services such as stations WWV and WWVH 
  2794. of the U.S. National Institute of Technology and Standards (formerly the 
  2795. National Bureau of Standards) and the BBC World Service. It is roughly the 
  2796. same as UT1, the time standard used by astronomers and scientists for 
  2797. celestial and solar system measurements. However, because the orbital time 
  2798. and rotation rate of the Earth is not constant, periodic adjustments of one 
  2799. second are required. These adjustments, called Leap Seconds, are usually 
  2800. made at the end of June and/or the end of December in order to maintain the 
  2801. difference between UTC and UT1 to within 0.9 seconds. As I discovered while 
  2802. writing my program ASTROCLK, there are many other defined time standards. 
  2803. Because of the ready availability of UTC for synchronization, JPLCLOCK 
  2804. assumes that the computer's internal clock is set to local time and that 
  2805. time has a fixed relationship to UTC.
  2806.      The original plan for time zones required each zone boundary to be 
  2807. located at the 15 degree meridians around the globe. Since that arrangement 
  2808. seldom coincided with national or political boundaries, many adjustments 
  2809. have been made over the past one hundred years for political reasons or for 
  2810. local convenience. Some time zones are approximately "nominal" while others 
  2811. are quite large; all of China, for example, uses a single national time 
  2812. zone -- at least officially.
  2813.      All civil time zones are related to UTC, usually by an integral number 
  2814. of hours (although there are several "half hour zones" and at least one 
  2815. "quarter hour zone"). Many countries, including the United States and most 
  2816. of Europe, also adjust their civil time by one hour during summer months. 
  2817. In the United States, Daylight time begins on the first Sunday in April and 
  2818. ends on the last Sunday in October. Other countries use different dates and 
  2819. those dates may change from time to time. JPLCLOCK can adjust for Daylight 
  2820. time for all time zones in the United States (including Alaska and Hawaii) 
  2821. with a single function key; other time zones must be individually set for 
  2822. standard or summer time.
  2823.      The following time zone abbreviations are used by JPLCLOCK for the 
  2824. main window and the four location clocks at the lower right of the display 
  2825. screen:
  2826.  
  2827.      UTC       Coordinated Universal Time
  2828.                (formerly GMT = Greenwich Mean Time)
  2829.  
  2830.      AST       Atlantic Standard Time
  2831.      ADT       Atlantic Daylight Time
  2832.      EST       Eastern Standard Time
  2833.      EDT       Eastern Daylight Time
  2834.      CST       Central Standard Time
  2835.      CDT       Central Daylight Time
  2836.      MST       Mountain Standard Time
  2837.      MDT       Mountain Daylight Time
  2838.      PST       Pacific Standard Time
  2839.      PDT       Pacific Daylight Time
  2840.      YST       Yukon Standard Time
  2841.      YDT       Yukon Daylight Time
  2842.      HST       Hawaiian Standard Time
  2843.      HDT       Hawaiian Daylight Time
  2844. Program JPLCLOCK Multimission Control Center Clock                 Page 55
  2845.  
  2846.  
  2847.  
  2848.      GMT       Greenwich Standard Time (UK)
  2849.      BST       British Summer Time (UK)
  2850.      CET *     Central European Time
  2851.      CES *     Central European Summer Time
  2852.  
  2853.      * denotes non-standard abbreviation
  2854.  
  2855.      Users with specific information on time zone names, abbreviations, and 
  2856. and relationship to UTC as well as official times for changing to and from 
  2857. daylight/summer time are encouraged to send me that information so that I 
  2858. may update or correct the program if necessary. The information will be 
  2859. added to subsequent versions of JPLCLOCK.
  2860. Program JPLCLOCK Multimission Control Center Clock                 Page 56
  2861.  
  2862.  
  2863. JPLCLOCK REVISION HISTORY
  2864. -------------------------
  2865.  
  2866.       Each released version of JPLCLOCK uses a four digit revision code 
  2867. such as 9126. The first two digits indicate the year and the second two 
  2868. digits indicate the week of the year. In some cases, an additional letter 
  2869. suffix is added to distinguish changes occurring within the same week. A 
  2870. partial week at the beginning or end of the year is counted as a full week. 
  2871. Using this method, a year will typically have 53 weeks although it is 
  2872. possible to have 54 weeks in a leap year (1972 is an example). The current 
  2873. year-week revision code is shown on the Julian Date display, Display Mode 
  2874. 7, in my program ASTROCLK.
  2875.      This file records the revision history of program JPLCLOCK through all 
  2876. of the minor twists and turns that usually accompany the evolution of such 
  2877. a program.  It illustrates the tortuous process of maintaining and refining 
  2878. a program as ideas and problems are reported from every quarter. These 
  2879. notes may also be helpful to users who are upgrading from one version to 
  2880. another to find out what has changed.
  2881.  
  2882.                                               David H. Ransom, Jr.
  2883.  
  2884.  
  2885. 9128      7/05/91
  2886. -----------------
  2887. -Repaired bug that caused CALIBRATION (F6) to fail to execute subsequent 
  2888. TIMESET calls at the correct time interval after the first two. Also 
  2889. corrected a sign error in the drift calculation during self-calibration.
  2890. -Corrected screen text for CALIBRATION (F6) to show correct calibration 
  2891. intervals of 1, 2, and 4 hours. The total time required is 7 hours.
  2892.  
  2893. 9127      7/01/91
  2894. -----------------
  2895. -Added "/SMALL" command line option to display smaller Main Window with 
  2896. Local Time and UTC Time. See text for details.
  2897. -Added ALT-F6 during clock display to switch between LARGE and SMALL Main 
  2898. Window.
  2899. -Added four additional SELECTED and PRIORITY EVENT windows below the SMALL 
  2900. Main Window. User may select: four SELECTED EVENTS (default); two SELECTED 
  2901. EVENTS and two PRIORITY EVENTS; or, four PRIORITY EVENTS. Change using ALT-
  2902. F5 when SMALL Main Window is active. These additional four windows are 
  2903. displayed ONLY when the SMALL Main Window is selected ("/SMALL" command 
  2904. line option or ALT-F6 when clock display is active). 
  2905. -Added "/SYNC" command line option to force immediate time synchronization 
  2906. (using program TIMESET) when JPLCLOCK is started. The time synchronization 
  2907. performed as a result of the "/SYNC" command line option is independent of 
  2908. the automatic time synchronization (F10+F3+F3).
  2909. -Changed "/TEXT" command line option so "/PAGE" is no longer also required. 
  2910. "/TEXT" now forces PAGE mode.
  2911. -The word "HOLD" now appears above the Mission Timer windows if the current 
  2912. page of Mission Timers is being held on the screen because one or more of 
  2913. the timers is within 1 hour of its Time Zero.
  2914. -Changed SCREEN FREEZE (ALT-F1) to time out in 5 minutes if no key is 
  2915. pressed. Current UTC and Local time are now displayed and updated on line 2 
  2916. during the screen freeze. JPLCLOCK will no longer freeze indefinitely!
  2917. -Changed Location Clock prompts for "Uses US Daylight Time" (F2) to "Y" for 
  2918. Program JPLCLOCK Multimission Control Center Clock                 Page 57
  2919.  
  2920.  
  2921. YES and "N" for NO.
  2922. -Corrected bug in Mission Timers: countdown time at zero days displayed "0" 
  2923. days rather than "-0" days.
  2924. -Corrected a bug introduced at Version 9126: INI files were interpreted 
  2925. incorrectly and reset the Daylight Flag on the Location Clocks which use US 
  2926. Daylight Savings Time.
  2927. -In most instances, pressing BACKSPACE will reset the timer in the message 
  2928. "JPLCLOCK will start automatically in NN seconds". When typing characters, 
  2929. the BACKSPACE will delete the previous character.
  2930. -Modified large clock logic in the Main Window to write only digits that 
  2931. have changed. This improves performance with slower computers and/or slow 
  2932. video adapter cards.
  2933. -Improved prompts for Read/Write INI & MTD files (F5) and corrected a minor 
  2934. bug when ESC was pressed to CANCEL. Added warning that disk operations may 
  2935. affect JPLCLOCK's time accuracy.
  2936. -Added warning when exiting to DOS (F9) that disk operations may affect 
  2937. JPLCLOCK's time accuracy.
  2938. -Fixed "?" command line help so correct time is shown and added "/TEXT" 
  2939. command line reminder.
  2940. -Corrected references to the DOS timer rate. The timer ticks occur 18.2 
  2941. times per second or every 54.945 milliseconds. Previous text had the 
  2942. frequency given where period was indicated.
  2943. -Various cosmetic changes.
  2944.  
  2945. 9126      6/22/91
  2946. -----------------
  2947. NOTE: Program JPLCLOCK and this documentation were prepared largely from 
  2948. memory some hundreds of miles away from my usual references and other 
  2949. resources. Technical revisions and corrections can be expected in future 
  2950. releases! Comments and suggestions are welcome.
  2951. -INITIAL PUBLIC RELEASE OF JPLCLOCK.
  2952. -Added F10 to Main Menu for manual and automatic time synchronization and 
  2953. calibration functions. See the section TIME SYNCHRONIZATION for details.
  2954. -Added automatic offset and drift compensation to JPLCLOCK displayed time 
  2955. based upon measured time offset and drift rate. Once the average drift rate 
  2956. of the computer's clock is known, JPLCLOCK will compensate for that drift 
  2957. and display the corrected time.
  2958. -Added TEXT mode for the display of up to 10 screen pages of supplementary 
  2959. information or messages. A sample text file, JPLCLOCK.MSG, has been added 
  2960. to the standard distribution files. See text for details.
  2961. -Added "bar meter" above the Main Window to provide countdown to automatic 
  2962. time synchronization. Meter appears 100 seconds before JPLCLOCK suspends 
  2963. and counts down in increments of 10 seconds.
  2964. -Added two "bar meters" above the Mission Timer windows to display active 
  2965. Mission Timer pages and active TEXT pages. The right meter is for Mission 
  2966. Timer pages and the left for TEXT pages. Active page markers are in color 
  2967. and inactive page markers are gray.
  2968. -Added "#nn" copy format to Mission Timer input (F3).
  2969. -Added TAB to skip an entry and leave it unchanged in several menus.
  2970. -Added F7 to switch TEXT mode from Main Menu.
  2971. -Added F8 to switch PAGE mode from Main Menu.
  2972. -Added ALT-F1 to FREEZE clock display. Press any key to resume operation.
  2973. -Added ALT-F7 to switch TEXT mode from clock display. NOTE: PAGE mode must 
  2974. first be enabled before TEXT mode can be enabled.
  2975. -Added ALT-F8 to switch PAGE mode from clock display. NOTE: TEXT mode will 
  2976. Program JPLCLOCK Multimission Control Center Clock                 Page 58
  2977.  
  2978.  
  2979. be disabled (if enabled) when PAGE mode is disabled.
  2980. -Added F4 on the DEFAULTS menu (F4+F4 from Main Menu) to allow the user to 
  2981. set the PAGE Delay and the TEXT Delay. See text for details.
  2982. -Swapped Location Windows #2 and #3 to make numbering scheme conform to the 
  2983. other windows, top to bottom in a given column.
  2984. -INI file format has changed but JPLCLOCK will correctly read Version 9125B 
  2985. INI files and subsequently write the new format. Use F5 from the Main Menu 
  2986. to convert prior files; first read the old file then write a new file using 
  2987. the same or a new filename.
  2988. -The menu message "JPLCLOCK will start automatically in NN seconds" now 
  2989. counts down as the allowed time for keyboard input decreases.
  2990. -Various cosmetic changes and minor bug repairs.
  2991. -Documentation updated. 
  2992.  
  2993. 9125B     6/16/91
  2994. -----------------
  2995. -Added /PAGE command line option for page mode operation.
  2996. -Number of timers now set to 60 in 10 pages.
  2997. -Mission Timer capacity changed to allow from -9,999 days to +99,999 days 
  2998. to accommodate long duration interplanetary missions such as Voyager 1 and 
  2999. 2 and Pioneer 11 as they leave the solar system.
  3000. -Corrected Daylight Savings Time adjustment and default values for the four 
  3001. location clocks.
  3002. -Added Voyager 1 and 2 to default data but times and dates are only 
  3003. approximate.
  3004. -Function keys on several menus changed or swapped.
  3005. -Many minor and cosmetic changes.
  3006. -Documentation updated.
  3007.  
  3008. 9125A     6/14/91
  3009. -----------------
  3010. -Interim test release.
  3011. -Documentation not updated.
  3012.  
  3013. 9125      6/12/91
  3014. -----------------
  3015. -First fully functional release.
  3016. -All configuration features now available.
  3017. -Preliminary documentation released.
  3018. -Mission Elapsed Time for Magellan, Galileo, and Ulysses are NOT correct. 
  3019. Dummy values have been used for testing.
  3020.  
  3021. 9124      6/10/91 
  3022. -----------------
  3023. -Initial BETA VERSION Release. This version was an operational 
  3024. demonstration of the program and did not include any configuration 
  3025. features.
  3026.  
  3027.